Ho giocato poco sinceramente con la GC, ma a quanto ho capito "finalize" non cancella l'oggetto ma rende disponibile al l'oggetto al GC.
La prossima volta che gira la GC eliminerà l'oggetto.
Il codice che hai scritto fa quello che avviene di default.