One question though: What does Garbage collection do besides what Rust provide? Ownership and borrow checker.
Also GC doesn't remove all resource management... ironically I find most GC-based languages to be more mentally taxing when managing manual resources (file handles, mutex locks, etc).
If you have a program with complex architecture, you're doing wrong somehow.
If you can't decomposing the complexity, you will have complexity. I think it's not about programming language, it's about human (and technology).