That's the common case, but you can still make a reference counting cycle, or have a thread hang while holding onto something, or even just call `mem::forget` on an allocation.
This is different from Rust's guarantees about memory and thread safety, which you can't break without `unsafe`.
This is different from Rust's guarantees about memory and thread safety, which you can't break without `unsafe`.