It has been proven multiple times, at Xerox PARC, ETHZ, DEC Olivetti, Microsoft that garbage collection systems programming languages are doable.
However technology adoption always needs to fight against non-believers.
Joe Duffy has stated on his Rustconf 2017 presentation [0] that even Midori running on front for their eyes, with some use cases where System C# was even shoulder-with-shoulder with C++ [1], that Windows devteam was not getting it.
Nowadays he is an happy Go coder instead of trying to convince them otherwise.
D has a big problem with their GC implementation, which provides good arguments for the anti-GC crowd in systems programming.
However they have been improving it quite a bit during the latest releases, as well as, making the runtime library more @nogc friendly.
As for reaching mainstream, I share your thoughts. It is not only Rust and Go. There is also Swift, C++17 and the ongoing improvements to make Java and C# more machine friendly (memory management and AOT compilation).
Still, even if just a small group gets to use it, it is already a victory.
Most languages never achieve it.
[0] - https://www.youtube.com/watch?v=CuD7SCqHB7k
[1] - http://joeduffyblog.com/2015/12/19/safe-native-code/