To clarify for other readers: I believe he means the JVM, not the Java language.
I haven't been keeping up with Mono's development, but if they have C# 3.0, it blows away Java right there. C# 3.0 is a functional programming gateway drug, but encourages high readability even for non-functional developers. However, that's not a fair comparison, as there are other great JVM languages such as Scala and Clojure.
As for Mono or the CLR vs the JVM, there has been a lot about this written on the net. You can find discussions about garbage collection, module systems, JIT performance, security, library support, etc.
Here's one example: MSIL is more rich than Java Byte Code. This makes writing compilers easier and can lead to better performance via unsigned types, objects on the stack, unsafe pointer use, etc. See: http://stackoverflow.com/questions/95163/differences-between...
I'm not an expert on the CLR by any means, but I do quite a bit of C# development on Windows. I greatly prefer C# to Java, but couldn't really care less about CLR/Mono vs JVM. I'm really more interested in LLVM as a compile target for interop and optimization of open source languages.