今更ながら、.NET Remoting のエントリですw
Activator.CreateInstance や AppDomain.CreateInstanceAndUnwrap で生成したリモーティングオブジェクトには、「リース期間」が設定されています。オブジェクトの有効期限のようなものです。これが切れると、リモーティングオブジェクトのメソッドやプロパティを呼び出した時に RemotingException が発生します。
この問題を解決するためには、下記のようなコードで、リモーティングオブジェクトのリース期間を延長すればいいです。
public class FooObject : MarshalByRefObject { // ...省略... // リース期間を延長する細工をほどこす public override object InitializeLifetimeService() { ILease lease = (ILease)base.InitializeLifetimeService(); if (lease.CurrentState == LeaseState.Initial) { // リース期間を自動延長するスポンサーを登録 lease.Register(new BarSponsor()); } return lease; } } // リモーティングオブジェクトのリース期間を無期限にする public class BarSponsor : MarshalByRefObject, ISponsor { public BarSponsor() { } public TimeSpan Renewal(ILease lease) { return lease.InitialLeaseTime; } }