It's very difficult to avoid it when thing goes complicating. A may reference B, B may reference C, ... and somewhere, X may reference back to A. If this strategy makes sense for big project, many hackers work with C++ can use it either, as the performance overhead is very low.
But in the real world, reference-count based GC just has limited usage.
But in the real world, reference-count based GC just has limited usage.