Structs derive from System.ValueType which derive from System.Object. Structures are all sealed. Enums derive from System.Enum which derives from System.ValueType. All Value Value type objects are allocated on the thread's stack, while reference type objects are allocated on the heap and are subject to Garbage Collection.