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# and Linux works fine together (Mono), and getting better specially those days. (NETCore)
You can use NBitcoin on Linux, Mac, IOS, Android, Windows Phone, Windows and WinRT with the nuget package manager.
It is a fact though that people on Linux are not familiar with C#, which by itself is a good reason for them to stick to C++.
But if you know C#, then you can do cross plateform development easily and learning another language to do so does not make any economical sense.