Первые две строки в коде на стороне сервера, для маршалинга объекта сервера, да?
В таком случае, да, третья строка является самой простой, которую вы можете получить на стороне клиента.
Кроме того, вы можете обслуживать дополнительные объекты на стороне сервера из экземпляра MyServerObject , если вы включите для них открытые средства доступа в интерфейсе IRemoteServer , поэтому доступ к этим объектам станет простое обращение к методам или доступ к свойствам на вашем главном объекте сервера, поэтому вам не нужно использовать активатор для каждой отдельной вещи:
//obtain another marshalbyref object of the type ISessionManager:
ISessionManager = MyServerObject.GetSessionManager();