Код устанавливает ссылки нового узла, но не обновляет существующие ссылки в списке. Исправлено замечено в комментариях:
if( isEmpty()){ // assuming if empty, head == null
head = new Episode(title, length, head, head);
head.next = head; // fix
head.prev = head; // fix
} else {
Episode last = head.prev;
Episode new_episode = new Episode(title, length, head, last);
last.next = new_episode; // fix
head.prev = new_episode; // fix
}