Yes, garbage collection seems to be the only viable solution for dealing with spaghetti reference graphs in their full generality, including possible cycles. In that context it's worth trying a high-performance concurrent GC implementation such as https://github.com/chc4/samsara Samsara.
That is just using a RefCell under the hood[1] so it is effectively the same trade-offs as the RefCell example from the article.