Jej złożoność obliczeniowa wynosi gdzie to liczba istniejących obiektów, a – referencji (faza „” wykonuje DFS, a faza „” odwiedza wszystkie obiekty).
Odśmiecanie pamięci przez kopiowanie Ta metoda polega na tym, że wszystko zostaje rekursywnie przekopiowane do innego obszaru w pamięci – najpierw kopiowany jest początkowy zestaw, potem – wszystko, co było przez niego wskazywane itd. Na końcu zwalniany jest początkowy obszar pamięci.
W ten sposób oszczędza się na konieczności ustawiania bitów w „” i – co ważniejsze – regularnie defragmentuje się pamięć.
Problemy to koszt kopiowania oraz, co znacznie poważniejsze, konieczność posiadania dużej ilości wolnej pamięci. Ten sposób jest bardziej praktyczny w systemach, w których możliwa jest tymczasowa alokacja dużej ilości pamięci.
Wirtualna maszyna Javy stosuje to rozwiązanie, lecz gdy uzna, że program generuje mało „śmieci”, przechodzi do trybu „”, przez co zyskuje na wydajności kosztem niewielkiej fragmentacji sterty pamięci.
Problem śmiertelności niemowląt Rozpatrywany jest następujący kod:
x = foo (new X(parametry), new Y(parametry))