The problem with C# is that it's tied to Microsoft, and we're already seeing what can come of that with developers wondering if .NET is a first-class Windows 8 development platform or has been relegated to legacy status and supplanted by HTML5. Microsoft is remaining silent.
Mono doesn't get close to .NET, even in versions and in implemented functionality, there's always missing something. Writing a serious web application in asp.net is not the same as writing a serious web application in mono.