Ничего не растет. Регистр указателя стека просто увеличивается (или уменьшается, в зависимости от архитектуры ЦП) каждый раз, когда вы что-то нажимаете, поэтому он указывает на новую, но существующую область памяти.
Это часто называют «растущим» стеком, но в действительности это то же самое, что и в C:
int stack[100];
int sp = 0;
stack[sp++] = 42; // push
Стек ЦП, как и приведенный выше массив, имеет фиксированный размер, и когда он исчерпан, возникает какая-то ошибка (опять-таки зависящая от архитектуры).