In fairness, the estimate was 10 milliseconds for 100 GB heaps. Not everything (especially, I'd guess, programs that benefit from pauseless GC) deals with that much memory.
This also lead me to research systems like Mesa/Cedar, Modula-2+, Modula-3, or more recently Singularity.
Different approaches were taken, RC with local GC for collecting cycles (Cedar/Modula-2+), GC as kernel service (Modula-2+/3, Oberon), static binaries with runtime enabled GC Syngularity.
So nowadays I tend to refer to automatic memory management in general, be it GC, RC, RAII or via dataflow analysis.
System programming languages with GC trace back to Algol 68.
Yet, besides Apple work with ARC or Microsoft with Singularity/COM/WinRT, there isn't much happening in mainstream OS mostly due to backwards compatibility to the culture that followed UNIX instead of Xerox PARC systems.
If systems like Mesa/Cedar had the focus and money spent that JVM or V8 enjoy, the computing world would be a bit different.
I think there are two big challenges for garbage collected environments with respect to core server systems level code. First, an acceptable pause needs to be reliably sub-millisecond or it breaks the userspace schedulers in a lot of high-performance server code. In the video presentation, they had a difficult time guaranteeing 10 milliseconds. They are working on it but this is a problem. Second, most high-performance server engines eliminate almost everything that looks like context-switching, mostly because it is very expensive on modern hardware. The idea that there may be hundreds or even thousands of threads running on real servers does not comport with the reality of a lot of server environments where context switching is severely restricted for good reason. The idea that it makes sense to have a lot of background processes cleaning up the memory allocation contradicts many well-conceived software architectures. These days, everything is explicitly scheduled and bounded if server performance matters.