Тут от языка ничего вообще не зависит. А зависит от метода мультиплексирования. Если тупо на select, у вас всё и на сях будет лежать. Судя по всему у вас windows, надо юзать IOCP. Выбирайте язык какой больше нравится, на C++ есть boost::asio к примеру, поддерживает IOCP. Для C# ищите что-то типа "C# IOCP TCP server"