Richard Blewett has put together a shared memory component written in C# that uses Win32 Interop that allows you to use shared memory to pass serialized types and object graphs. He writes:
I've created a wrapper for named shared memory that was part of a larger project. It basically allows serialized types and object graphs to be stored in and retrieved from shared memory (including as you'd expect cross process). Whether the larger project ever gets completed is another matter ;-). You can find the zip here.