While C#
is cross-platform, almost everybody using it seems to be on Windows. Also, a bunch of the libraries people normally use with C# are Windows-specific (like WPF, I guess. Does anybody still use WPF?). Also, Microsoft has some patents which put projects like Mono in a potentially poor situation, which is why it isn't entirely embraced by the free software world.
Java, on the other hand, is, for better or worse, used heavily on all the different platforms. Moreover, most Java libraries (like Swing. Does anybody still use Swing?) are cross-platform.
I find F# a much more interesting language than C#. Do you know how F# behaves on Linux? While I've heard of people using C# on Linux and Android, I haven't heard anything about F#. Then again, the Linux people might just prefer OCaml.