Metoda ta nie gwarantuje zwolnienia wszystkich niepotrzebnych obszarów w sytuacji, gdy występują tzw. wzajemne (cykliczne) odwołania. Przykładowo, jeśli X zawiera wskaźnik na Y, a Y zawiera wskaźnik na X (np. są to dwa komunikujące się ze sobą obiekty), to licznik odwołań w każdym z tych obiektów może nigdy nie osiągnąć zera. W związku z tym wiele języków programowania (np. Java, Python) wprowadza tzw. słabe wskaźniki.
W zliczaniu odnośników dodatkowe obliczenia związane z pracą kolektora nieużytków są rozłożone w czasie, gdyż wszystkie operacje na obiektach muszą dbać o ich liczniki, co może skutkować znacznie mniejszym – lub też przeciwnie – znacznie większym, obciążeniem w porównaniu z innymi metodami.
Metoda ta jest używana m.in. przez system plików w Uniksie (jednostka to i-węzeł, odnośniki to twarde dowiązania), GTK+ (do widgetów), Perl 5 czy Python. Jest również implementowana w C++ za pomocą wskaźników dzielonych z biblioteki Boost (boost::shared_ptr), a od C++11 dostępna w bibliotece standardowej jako std::shared_ptr.