C# does suck less than java. As a user my preference goes something like this Native Compiled -> hybrid python / C -> C# + mono -> java. A platform like Qt gives you a lot of the productivity advances that C# + mono or .Net does plus you get native binaries. All in all C# is not a bad option so I don't want to hate on it - maybe one of these days somebody will release a mono app that I actually like.2. C# is multi-platform, easy to use and still manages to give you a nice performance boost (compared to other languages like Java (slow, big thing) or C++ (too complex for GUI applications and if you don't know exactly what you are doing you get tons of memory leaks)). Also the documentation is pretty good.
Anyways Microsoft is too big to truly me a monolithic entity and if the C# .Net/mono folks there want to promote their tools on Gnome then so be it.