О, радость, ошибка времени выполнения смешалась с ошибкой времени компиляции. MessageQueue использует сериализацию XML для сериализации объектов, которые не являются Message. Если вы не использовали sgen.exe для создания сборки сериализации во время сборки (вам действительно следует), то она генерирует сборку во время выполнения.
Очевидно, что это не сработает, любой объект, который вы передаете Send (), не поддерживает сериализацию XML. Судя по сообщению об ошибке, это может быть потому, что это не простой класс .NET. Решите это, сделав его простым классом .NET, выжившим после XmlSerializer.Serialize () и обратно.