Whatever is inside a reference type will get stored on the heap. The array will probably be stored in non-adjacent place to ''MyClass'' because it's size cannot be determined at compile time. If you're so confused with what goes where, any optimization is not your concern right now, you'll probably only make it worse, sorry.