At this point I wouldn't consider it any more or less proprietary than any other Microsoft language, like TypeScript for instance.
The C# VSCode extension works in Microsoft's build of VSCode, not when someone else forks it and builds it themselves.
Thanks to Samsung of all companies, there's an open source C# debugger on GitHub (https://github.com/Samsung/netcoredbg). That seems to be the basis of the open source C# extension's debugging capabilities: https://open-vsx.org/extension/muhammad-sammy/csharp
The VSCodium C# community wants Microsoft to open source their debugger instead of having to maintain an open source version themselves, but that doesn't mean you need to use Microsoft's open source version. If anything, this forceful separation makes it so that there never will be only one implementation (like there is for languages like Rust which have always been open and therefore only have one way of doing things).
JetBrains have their own closed debugger, which doesn't really help.
Since Rust is native code, you can use pretty much any debugger for it, there is definitely not a single implementation. Yes, Rust has a single compiler, but does C# have any other compiler than Microsoft's Roslyn? (I don't think this is a problem, though)
The nice language on the CLR, F#, also doesn't seem to be very well liked by MICROS~1 anymore.
You won't be writing visual bootloaders in plain C# any time soon, but the GUI side of C# is fine
Do you want to age into an old, happy programmer? Avoid emotional attachment to any single programming language. Borrow good ideas from different sources, but don’t settle on a single PL, paradigm, or convention. Sure, you’ll probably end up hating each of them for different reasons, but you may find some that you don’t loathe so badly.
Like first result searching for .net brings you to this microsoft tutorial. Instruction for local development start with installing sdk that immediately offers linux install instructions and vscode also with direct links to .deb or .rpm packages
Anyway, Anders left Borland and joined Microsoft and then .NET with VB and C# came out. In the beginning I was elated. After a few years building .NET apps, websites and services, I started digging for other things. Without even realizing, I slowly left the .NET behind me. Getting out, I recognized that the entire .NET stinked with an aura of some kind of "mental prison". I can't really describe the feeling now, but the entire community felt to me like needing some kind of approval all the time — from mothership company, from influencers like Scott Hanselman, from the Stack Overflow team, or some others like Pluralsight (which in the beginning was very .NET-centric).
I'm sure things perhaps have changed since then for the better — Satya has implemented some company-wide revolutionary changes, yet for me personally, the appeal of writing code targeting .NET has completely dissipated. I'm honestly not missing it a bit. Just a few months of coding something different taught me far more, improved my skills, and gave me invaluable perspective that I wouldn't find if I've stayed.