Cela est lié à la mémoire : des données en mémoire occupent plus de place que la zone mémoire qui leur est allouée (appelée pile).
Cela peut provenir de tableaux (array) mal dimmensionnés ou de variables qui changent de type en cours de programme : une variable qui occupait un octet change de type et nécessite plusieurs octets et marche donc sur les plates bandes de ses voisines.
Il faudrait lancer le programme en mode débug et visualiser les valeurs que prennent les variables.
Chris