Having a GC can make the implementation of lock-free data structures significantly easier. Without GC you effectively end up implementing a sort of very specialized garbage collection scheme for the data structure.<p>This is a very nice article about using epoch-based memory reclamation for lock-free datastructures in Rust: <a href="https:&#x2F;&#x2F;aturon.github.io&#x2F;blog&#x2F;2015&#x2F;08&#x2F;27&#x2F;epoch&#x2F;" rel="nofollow">https:&#x2F;&#x2F;aturon.github.io&#x2F;blog&#x2F;2015&#x2F;08&#x2F;27&#x2F;epoch&#x2F;</a>