Пробовал Mono 3.0.1, 3.0.2. Там какой-то странный баг. Через TCP сокет на 127.0.0.1 сообщения пролазят примерно 4 раза в секунду. То есть блокирующая socket.Receive срабатывает так редко. Хотя с отправляющей стороны сокетный буфер заполнен.
Вернулся обратно на Mono 2.10.8.1 компилировал её с разными флагами, пробовал
./configure --with-large-heap=yes --enable-optimized=yes --enable-parallel-mark=yes
В результате добился того, что и в Mono 2.10.8.1 блокирующий socket.Receive тоже стал работать медленно. Почему не ясно. Как вернуть всё назад не знаю. Пробовал make uninstall, пробовал aptitude purge ~imono, затем ставил "чистую" - не помогает.