That is probably because the local garbage collector at the server side collects the object. You can prevent that by renewing the leasing. You can read more about that in these articles:
- Managing the Lifetime of Remote .NET Objects with Leasing and Sponsorship
- CLR Inside Out: Managing Object Lifetime
Update: Unfortunately, the MSDN Magazine issues from 2008 or older are no longer browseable online, but only as .chm files that you have to download to your local machine. The previous issues can be found in:
- Managing the Lifetime of Remote .NET Objects with Leasing and Sponsorship in December 2003 issue
- CLR Inside Out: Managing Object Lifetime in November 2007 issue