.NET Remoting is probably one of the most advanced subjects. In addition to replacing DCOM and being relevant to distributed application development (which you may not do every day) remoting involves threading, Singletons, security, networking, Reflection, AppDomains, the differences between marshaling by reference and by value, SOAP, XML, serialization, interfaces, and more.
Chapter 8 introduced .NET Remoting fundamentals. We discussed the difference between marshaling objects by value and by reference, server-activated objects and client-activated objects, Singleton and SingleCall remote objects, configuration files, custom serialization, and how to raise events from remote objects. These are the key elements of all .NET Remoting and will aid you in experimenting with distributed applications and further exploration.