Другая проблема с финализаторами, помимо упомянутой andrewmu, связана с часто создаваемыми / уничтожаемыми объектами.
Когда вы определяете финализатор для класса, имеющего высокую скорость создания / уничтожения, вы добавляете нагрузку в поток финализатора, возможно, замедляя сбор мусора этих объектов. Вместо немедленного освобождения, когда происходит GC, эти объекты ждут в очереди потока финализатора, чтобы сначала завершиться. Это увеличивает риск ошибки нехватки памяти.