.NET in-memory message queue over TCP