Разбирам, че ако имате многонишково приложение и трябва да разпределите много памет, тогава трябва да разпределите на купчина. Стековото пространство е разделено между нишките на вашето приложение, като по този начин размерът на стека за всяка нишка става по-малък, когато създавате нови нишки. По този начин, ако се опитате да разпределите много памет на стека, тя може да препълни. Но ако приемем, че имате приложение с една нишка, размерът на стека по същество същият ли е като този за купчината?
Четох другаде, че стекът и купчината нямат ясно дефинирана граница в адресното пространство, а по-скоро прерастват един в друг.
P.S. Животът на разпределените обекти не е проблем. Обектите се създават първо в програмата и се почистват при излизане. Не трябва да се притеснявам, че ще излезе извън обхвата и по този начин ще се изчисти от стековото пространство.