performance improvement in MessageReceiveLoop, async was causing the bottleneck