As mentioned by Aaronaught and Eric blog post:
Remember the rule, Reference types always goes to the Heap, whereas Value Types always go where they were declared? If a Value Type is declared outside of a method, but inside a Reference Type it will be placed within the Reference Type on the Heap.