No, Marshal.Sizeof() is the amount of memory required to marshal an object to/from native code. The size of any given object is undefined and cannot truly be determined in .NET. outside of a debugger. http://channel9.msdn.com/ShowPost.aspx PostID=231084 has a thread discussing similar.