Основное отличие между ссылочными и значимыми типами в том, что одни
передаются по ссылке, а другие по значению, как бы это банально не звучало. Расположение в куче или на стеке — это всего лишь
следствие особенностей работы с объектом, например, времени жизни, стратегией копирования, размером.
Также стоит понимать, что CLR не всегда располагает вещественные объекты на стеке.
Вот статья на эту тему от Эрика Липперта.