Reference Type : Reference types are allocated on the managed CLR heap, just like object types. A data type that is stored as a reference to the value’s location. Reference types can be self-describing types, pointer types, or interface types.
Value Type : Value types are allocated on the stack just like primitive types in VBScript, VB6 and C/C++. Value types are not instantiated using new go out of scope when the function they are defined within returns.