Breaking Reference Cycles in Rust with Weak<T>

Preventing memory leaks in shared data structures