public void deleteAll() {
head = null;
}
Вы забыли установить для head
значение null.
И из-за сборок мусора все узлы списка больше не являются ссылочными и будут собираться мусором.
УстановкаПеременная на ноль не будет иметь никакого реального эффекта.Установка поля в null сделает объект (значение), вероятно, недоступным и свободным для сборки мусора.