C# jako jazyk není problém, protože ho MS standardizoval. Problém je
v runtimových knihovnách, resp. C# frameworku. Ten není úplně čistý,
resp. část je a část ne.
C# nechat, ale nepoužívat knihovny .Netu ale napsat jiné vlastní, nebo udělat binding některé existující knihovny.
Dobrý by byl binding Qt (multiplatformní, vlákna, gui, sockety, stringy, etc...), navíc by to bylo rychlé, protože Qt je v C++ a ne v C#.