Я экспериментирую с кросс-объектами AppDomain и обнаружил одну довольно странную вещь.
Когда я вызываю удаленный метод, который выделяет объект MemoryStream и возвращает его ссылку (и который немедленно удаляется вызывающей стороной), использование памяти довольно значительно увеличивается и не уменьшается даже после вызова GC.Collect ).
В вызывающем методе, который каждый раз возвращает новый объект String или byte [], утечки нет.
Профилировщик памяти показывает, что большинство живых объектов имеют тип Char [] и String (в случае MemoryStream).
Вопрос в том, что я что-то неправильно понял, и удаленные вызовы не так просты, как наследование от MarshalByRefObject?