Example

protected void finalize() throws Throwable {
System.out.println("Calling RunFinalizersInExit finalize"); //$NON-NLS-1$
super .finalize();
}

public static void main(String[] args){
RunFinalizersOnExit_Exemplo rfoe = new RunFinalizersOnExit_Exemplo();
Runtime.runFinalizersOnExit(true);
}

Solução
Remova essa chamada e deixe que o coletor de lixo faça o trabalho.