In Visual Studio 2005 and prior you could export your code to Visio and view the relationships between the objects and what methods, properties and fields it had. This was great
There is a decent, free version of a UML diagramming tool called Argos here http://argouml.tigris.org/features.html. Out of the box it can both forward and reverse engineer Java, I'm fairly certain there are add-ins for Visual Studio that help support forward and reverse engineering of C# code. I would look into that.