I've been working in an environment where performance is critical, and everything is managed code, for several years now. That might sound like an oxymoron, but our system can in fact beat the pants off all the popular native programming environments. The key to success? Thought and discipline.
The moral of the story? Love your single string type. It's a wonderful thing. But always remember: An allocation is an allocation; make sure you can afford it. Gen0 collections aren't free, and software written to assume they are is easily detectible. String.Split allocates an array and a substring for each element within; there's almost always a better way.
It looks like Joe Duffy is "the architecture of an experimental OS's developer platform, where he is also chief architect of its programming language." So that means he's talking about his own managed nirvana ~ which means you have to get your answers from him, correct?
The bit about string parsing and avoiding allocation is common sense put into elegant code to great effect, nice.