If you've already done it in C++, the most efficient use of your time may be to wrap that code in a managed C++ object and then use that object from C#. John
I could be off the mark here but couldn't you just let serialization happen naturally and mark the fields in the graph that you don't want serialized with [NonSerialized()]? Regards