Во-первых, вы должны быть очень ясно о том, что вы спрашиваете здесь; Вы имеете в виду словарь ? или переменная ? потому что это две совершенно разные вещи .
Словарь - это объект в управляемой куче.
Переменная (ссылка на объект в управляемой куче) - может означать «локальный», «параметр» или «поле». Поля имеют значение , где бы они ни находились , и зависят от того, что имеет поле (ссылочный тип, против неупакованного типа значения (который сам может быть или не может быть полем на чем-либо), против упакованного значения - тип). Может быть куча или стек. Параметры и локальные значения обычно в стеке, за исключением случаев, когда они записываются в контекст состояния (асин c методы, анонимные методы / лямбды, блоки итераторов, локальные функции), в в каком случае они фактически рассматриваются как поля; и «поля того, что» зависит от точного контекста (например, локальные функции являются структурами). Также обратите внимание, что стек - это деталь реализации!
Но вы , вероятно, имеете в виду «сам словарь», в этом случае: управляемая куча.