Hauptsächlich dann, wenn die aufgerufene Funktion wiederum "Call" macht, usw. Und wenn dann ein Interrupt zuschlägt, verbraucht der mindestens 32 Byte HwStack zum Sichern der Register. Soft-Stack geht hauptsächlich drauf, wenn man viele Funktions-Argumente und/oder lokale Daten hat.
Und dann ist noch die Dunkelziffer, was der Bascom in seinen eigenen Routinen an fortlaufenden "Calls" macht.
Man kann das schon einigermaßen ausrechnen, aber mitten in der Programm entwicklung nervt das. Da mußt du richtig im Simulator steppen und mitzählen.

Wasser marsch ist gut, durch Feuchtigkeit kann man den Stackverbrauch schlagartig stoppen.