The elements will also reside in the heap (in an array, that's how List works internally).
In principle, only local variables and arguments are be allocated on the stack and everything else goes on the heap (unless you use rare things such as stackalloc, but you don't need to worry about that)