GC zwalnia tylko obiekty nieosiągalne. Jeśli przez błąd trzymasz referencje (np. rosnąca statyczna lista/mapa, cache bez eviction, listenery nieusuwane), obiekty pozostają osiągalne i pamięć rośnie.