C# is also fine for this, just way less popular. Recently ms put out https://github.com/microsoft/Garnet when the redis debacle happened.
The Apache project has helped put out quite a few large infra projects, most of them in Java (I don’t know why this is but assume they have lots of resources to help with that, and also that people don’t like debugging memory crashes).
Ms has just been not the greatest collaborators with their open source community. A lot of the time it seems like they want to do the initial foundation, then leave “drawing the rest of the owl” to the community, which ends with lots of partially functional things. GUI frameworks, f# tooling, drivers for commonly used critical infra. At the same time, people get upset when ms tries to build a better version of an existing open source project, so there’s no winning. They’ve just put themselves in such a poor spot.
If you try to install any of the latter, it will be apparent why. (They are poor in usability).
https://devblogs.microsoft.com/java
https://www.microsoft.com/openjdk
https://code.visualstudio.com/docs/languages/java
Because it turns out, making Java running on Azure, on those 60% Linux workloads, is lot of money.
Also plenty of Azure, anything CNCF related, is mostly Go and Rust.
Which is kind of sad, I would expect Azure to be a good contributor for having a .NET presence in the CNCF project landscape.
Java is frankly a bad choice for that too these days for a new project, and for the same reason: why would you develop infrastructure in a language that requires shipping a runtime when Rust and Go exist? That made a lot more sense back when C/C++ was your only other real choice.
Meanwhile, plenty of people are in this thread telling you that they do in fact use C# to distribute cross-platform applications, but you seem to be uninterested in hearing that.