More specifically.. a link that doesn&#x27;t touch the reference count is a weak reference. It&#x27;s a known strategy and it does avoid the problem where a cycle can&#x27;t be collected.<p>If the weak references are safe (as in, their pointer is assigned to 0 when the target object is collected) then I think there can be performance issues (compared to the competition of a tracing GC).<p>If the weak references aren&#x27;t safe, then you have a data structure that&#x27;s more in the realm of manual memory management, so it&#x27;s hard to draw a fair comparison with fully memory-managed objects.