Which is why Java is getting value types, as that research has proven that there is only so much that automatic escape analysis is capable of.
Bare bones tracing GC in Java were the state of the art like 25 years ago.
Java GC's are powering quite some interesting stuff, one just needs to open their mind beyond OpenJDK.
https://www.ptc.com/en/products/developer-tools/perc
https://www.aicas.com/wp/
Still eventually, even Java would enjoy the value types and determnistic destruction capablities of languages like D, or to go to the days before Java, languages like Modula-3 and Eiffel, which they should have paid more attention to for Java 1.0.