Я считаю, что вам нужно переопределить срок службы удаленного объекта:
public override object InitializeLifetimeService()
{
return null; //remote object lease time forever
}
Поместите это в свой класс, который наследует Marshalbyrefobocte