title: Memory leak in simple cross app object
body: <p>I am experimenting with cross-AppDomain objects, and found one quite strange thing.</p>
  
  <p>When I call a remote method, which is allocating a MemoryStream object and returning it's reference (and which is immediately disposed by the caller), memory usage is quite significantly increasing and is not dropping down, even after calling GC.Collect().</p>
  
  <p>On the calling method which returns new String or byte[] object every time, there is no leak.</p>
  
  <p>The Memory profiler shows that most live objects are of type Char[] and String (in case of MemoryStream).</p>
  
  <p>The question is - did I misunderstand something, and remote calls are not so simple as inheriting from MarshalByRefObject?</p>