.Net Memory Profiler is a single C# class that builds a tree of specified object's fields, their sub-fields and so on up to primitive types. And in the "Quick Watch" window of the Visual Studio you will be able to see the memory usage by each of those fields. For more details see screenshots.