System.MarshalByRefObject derives from System.Object System.MarshalByRefObject is the base class for objects that need to marshal their data across application boundaries. System.MarshalByRefObject are able to marshal their data by value. MarshalByRefObject are System.__ComObject and System.AppDomain.