But I would argue that C# is a good candidate for client wallet as well though, the code run on all plateform, without browser incompatibilities lurking around.
C# and LINUX don't get along very well. That's why the core devs use Qt for Bitcoin Core client, because it is truly cross platform.
C# is a programming language like any other and that means you could write a compiler for it and generate java bytecode, machine code or assembler if you want. It is a language and has nothing to do with windows, linux or whatever. And yes, the .NET framework includes a c# compiler but in Linux you can use the c# compiler provided by Mono. In fact, every single time i finish a piece of code and test it in Linux it just works. Thats once more has nothing to do with c#, it is thanks the Mono team did an excellent work.