Не совсем. Если у тебя были ЖИРНЮЩИЕ объекты с взаимными ссылками друг на друга, его очень даже имеет смысл дернуть.
Число корней - это классическое для gc эмпирическое решение из разряда "как бы это сделать, чтобы проверка условия была O(1) и достаточно пригодной на практике в общем случае".
Во флэше, например, где нет возможности дернуть gc напрямую, после обработки тяжелой по памяти фигни специально создают и грохают объект из 10к пустых объектов, чтобы триггернуть сборку мусора

))