а про значимые типы никто не может шото сказать?
Любая структура (т.е. значимый тип) хранится в куче, если:
1) является полем класса
2) является статическим полем класса или структуры
3) упакован в object или интерфейс
4) передаётся в качестве параметра в асинхронные методы, методы-итераторы (yield + IEnumerable)
5) используется внутри любой лямбды
6) является полем другой структуры, которая лежит в куче (исключение: ref struct)