Un buon punto di partenza come al solito è Wikipedia:
http://en.wikipedia.org/wiki/Garbage...ter_science%29.
Comunque la GC non è deterministica perché gli oggetti vengono finalizzati solamente quando avviene una garbage collection, ossia (solitamente) in un momento in cui il programma non sta facendo niente (così da non appesantirlo quando sta lavorando per davvero) o quando il programma sta occupando troppa memoria (per non sprecare risorse di sistema); in ogni caso non si può sapere a priori quando verrà eseguita una GC (potrebbe avvenire solamente al termine dell'esecuzione del programma se esso consuma poca memoria).