C# is publicly defined, and does not belong to MS. Only the .NET implementation does. Unity uses the Mono implementation, which is 100% open source.
The short answer about why C# rock is: it's reasonably concise, it's strongly typed, it has sensibly named and robust libraries, it has very fast JIT compiling, it has generics, it has reflection, it has a very good OOP model, it has very sensible methods for things like abstract/virtual inheritance, it has excellent threading models and options, it has the ability to call unmanaged code through p/invoke, it has the ability to run raw c++-like data crunching when (hopefully rarely) needed, and various other benefits.
And for those who are used to C/Java like languages, it just "feels right," as well.