Я не знаю про protobuf-net, но он должен быть абсолютно нормальным. Я подозреваю, что если он не работает в protobuf-net, Марк посчитал бы это ошибкой и исправил бы ее ... это, безусловно, такое отношение я бы использовал в своем порту C #:)
(Реально, я не могу легко понять, как это было бы проблемой ... не похоже, что сообщения будут представлены структурами, где рекурсия была бы проблемой.)
Это должно быть довольно легко проверить - я предлагаю вам попробовать с небольшим сообщением, и посмотреть, если у вас возникнут какие-либо проблемы. Все, что вам действительно нужно, это создать сообщение и проверить, можете ли вы его сериализовать и десериализовать правильно, возможно, между различными платформами.
РЕДАКТИРОВАТЬ: Очевидно, вам нужно убедиться, что нет фактических циклов с точки зрения самих сообщений ...