Taky bych podpořil TCP server. Tam jde aplikovat hned několik přístupů. 
Thread/klient je overkill a pro reálné využití to není, listener a pool workerů je asi lepší, můžete tam dělat nějaký loadbalancing.
V rámci studia přistupujte na sdílené prostředky, určitě si zkuste i něco v shm.
Jako další challenge bych doporučil non-blocking IO a/nebo podporu TLS. Obzvláště to druhé je dobré si zažít - lekce správného monitorování událostí na soketu. Ačkoliv C# neznám, předpokládám, že to bude podobně "zajímavé"  jako v C/C++.
-K-