В указанном вами абзаце они говорят только о стеке вызовов (который является одним из возможных типов памяти).
Стек вызовов имеет максимальный размер, который "резервируется" во время компиляции , но в основном не используется при запуске программы. Ваши локальные переменные и вызовы функций помещаются в стек при вызове функции, которая временно «выделяет» память до тех пор, пока функция не вернется, - тогда она «освобождается».
Если вы выделяете больше памяти, чем Вы зарезервировали - например, с бесконечной рекурсией, тогда ваша программа будет иметь .......
Ошибка переполнения стека.