Lock in and .NET
.net was an attempt by Microsoft to counter java and the internet. Mono is an irrelevance - I have never seen a non-windows pc running a .net app. Microsoft attempted to split the market with .net, and no one cares - we don't need another java.
It's not surprising there has been growth in C# - when microsoft has a monopoly on the desktop market, people are going to develop .net apps. What's more interesting to me is what is happening to VSTO, the supposed replacement to Excel macros (it's dead, Tim). If you want to measure just how proprietary the .net framework is, try to find out how COM interop works. They have replaced a documented interface layer (COM) with a pile of caca.
I don't disagree that that c# is not a bad language. But let's face it, no serious programmer wants to be shackled to Microsoft's changing fashions. And I'd hate to see the kind of code that vba-turned-c# devs are churning out. But then Microsoft claimed vb was an Object Oriented language too.