To máš prašť jak uhoď. C# je podstatně progresivnější jazyk, ale zase není zrovna moc multiplatformní.
Napsat se dá v obou v podstatě cokoliv, samozřejmě ne na všechno je každý jazyk vhodný. To by ale bylo na delší povídání, stačí trochu zagooglit. Každopádně pro "realtime" aplikace bych osobně nevolil ani jeden z nich.
Práce s pamětí, to je v Javě spíš takový oxymoron. Jde to, ale je to pořád něco jako hack a ani bych to nedoporučoval. V C# se s tím počítá, dá se to pomocí "unsafe" operací. To má zase svoje, výkonem to zaostává za C++ a troufám si tvrdit, že většina C# programátorů u takového kódu ani nebude tušit, která bije. Rozhodně ale pořád 100x lepší, než v Javě.