Perhaps this is relevant:
http://msdn.microsoft.com/en-us/library/34yytbws.aspx

Specifically:
Value types are stored as efficiently as primitive types, yet you can call methods on them, including the virtual methods defined on the System.Object and System.ValueType classes, as well as any methods defined on the value type itself.