1. Я бы по началу не парился где там лежат значения. Тут главное надо уяснить, что у тебя хранится в переменной, например когда ты присваиваешь её значение другой переменной.
Значимые типы, как поля класса, лежат вместе с классом. А на стеке лежат только локальные переменные. Да и там есть куча нюансов и оптимизаций.
2. Указатели используются как часть работы с неуправляемым кодом. Некая попытка протащить сюда ещё и C.