title: Removing disconnected MarshalByRefObjects from server side lists
body: <p>In .Net remoting, if one creates a list of remote objects, then if the remote side goes away and you try to access one of the list items you would get an exception.</p>
  
  <p>All well and good, you can try catch it, not the end of the world.</p>
  
  <p>However, if you try to remove a disconnected <code>MarshalByRefObject</code> from a <code>List&lt;MarshalByRefObject&gt;</code> you get another exception because <code>List.Remove()</code> uses <code>Object.Equals()</code> and it becomes impossible to clean the list.</p>
  
  <p>Should this be resolved with some sort of local wrapper for the <code>MarshalByRefObject</code> object or is there a cleaner approach out there?</p>