Не понятно при чем тут C#. И о чем конкретно идет речь, стек это по сути организация хранения данных. Ну если мы говорим про то где хранятся переменные то, да для этого используется озу. В стеках как правило хранятся переменные имеющие область действия, а в кучах как правило глобальные переменные или динамически выделенные. Хотя не обязательно озу, если у нас установлен свап то часть может выгружаться на жесткий диск и по моему в режиме гибернации или сна, оперативка выгружается на жесткий диск, а после восстановления опять загружается обратно.