Разница между ними заключается в том, что маршал по значению копирует весь объект через границы домена приложения;с MarshalByRefObject вы эффективно делите объект между доменами в качестве ссылки (см. спецификацию в MSDN ).
Поэтому, если объекты большие и производительность является проблемой, MarshalByRefObject будетнаверное, лучший путь.