As I understand a particularly bad traffic jam in the early internet is what motivated congestion control in TCP. As a matter of a fact traffic is also an example of this phenomenon playing out without any (effective) compensating measures.
I find "Metastable failures in distributed systems" [1] to be a really interesting and accessible exploration of the problem.
[1]: https://sigops.org/s/conferences/hotos/2021/papers/hotos21-s...
Well, Java’s GCs are the state of the art. If they can’t deal with the amount of garbage a program creates than nothing can.
As for the rest: Which may or may not be the correct response depending on use-case. The JVM gives you the freedom to choose the approach you want. The default G1 GC for example has the target pause time setting where you can set whether you would want lower latency or higher throughput.