As someone who made a living out of Java, I have to say that in terms of expressiveness, C# is ahead. Sure, its standard library is showing its age a bit, as backward compatibility remains a priority (just like in Java). It also lacks the diversity of OSS projects from the JVM ecosystem.
But C# isn’t bad at all. And F# is a great language.
Given that .NET Core is MIT-licensed, I do wonder why we don't see more OSS projects written in F#.