Re: Sorry.... just to pick up a couple of points...
WPF also looks godawful on the desktop without a LOT of work (the same sort of effort that can result in actually quite nice looking Java as well, come to think of it). But see below for the amount of work that goes into most C# code....
Yet here I am happily coding away using ObjectPascal in Visual Studio (and compiling to Java Bytecode, MSIL or Cocoa, as the mood and the project takes me). I could use Swift as well. Hint: Visual Studio has this great thing that specifically allows other languages to be hosted within it and take advantage of great Visual Studio features.
Conversely, I can write C# for JVM, MSIL or Cocoa in an OS X IDE called "Fire" and - now - other IDE's - including VS Code...
Visual Studio isn't exclusive to C# and neither is C# exclusive to Visual Studio.
".NET integration with Windows" ?
Um, .NET runs ON TOP of Windows. C# compiles to .NET*. ergo you can get to Windows with C#, but only via .NET
Even when you compile to "native" all that is really happening is that the JIT compiler has been short-circuited into the build chain and a copy of VBRUN1500 ... Um... sorry "the .NET Execution Environment" has been packaged and bundled into the app as little more magical than a self-extracting EXE.
Welcome to the 1990's.
"Better all rounder"
It's great for web sites and highly constrained and controlled enterprise deployment scenarios. But due to the complex pre-requisite dependencies and never ending round of breaking revisions to the framework it cannot exist without, it is shockingly bad for desktop apps (which also look horrible) and utilities.
And despite the fact that performance should not be a problem, due to the fact that the whole "managed runtime" approach actively encourages lazy and poor programming practices, most code produced by that "large pool" of developers is shockingly badly written w.r.t resource utilisation and performs very poorly indeed.
"Microsoft's strategic language"
Yes, this has been the case for years. And yet... and yet... in more recent years that old thing called "native" code has been getting a lot more love than it used to in something of what might be termed a "back pedalling" maneouver if not a complete about face.
 - I don't think "lingua franca" means what you think it means.
"Lingua franca" is a common language that all parties wishing to engage need to have .. um.. in common... in .NET that - by definition - is MSIL. The source languages that the MSIL is compiled from are the vernaculars, of which C# is just one.