SoulSharer is correct.
An object type cannot be both a value type and a reference type. They are mutually exclusive. Value types are allocated on the stack (or inline in objects if members of another type) and cannot outlive the scope in which they are declared. Reference types are allocated on the heap and will be kept alive until the last reference to them are removed.