Value types хранят данные «в себе»; reference types хранят ссылку на объект в managed heap.
Разбор
- Присваивание value type копирует значение; reference — ссылку.
- Структуры живут на стеке или inline; объекты классов — в куче.
- Большие struct при частых копиях дороги.
- string — reference type, но immutable.
Итог
Value = данные; reference = ссылка на объект в куче.