Читал, там написанно что одним из свойств значимых типов является то, что о ни передаются по значению. А на самом деле это определение значимых типов. Кроме того по умолчанию в стэке располагаются только локальные переменные значимых типов.
Эрика Липперт (один из людей, который работает над C#) об этом этом писал в своем блоге. (осторожно, английский)
Значимый тип (Value Type) называется таковым именно потому, что передается по значению. Размещение в памяти вторично, например, если у ссылочного типа (reference type) будет поле типа int (value type), то это поле будет находится в куче вместе со ссылочным типом.
Эрика Липперт (один из людей, который работает над C#) об этом этом писал в своем блоге. (осторожно, английский)