OK,
das ist ja noch nicht so viel. Aber ich denke, dass bei jedem Rekursionsaufruf neuer Speicher alloziiert wird und das alles in die 16 MB Begrenzung reinfließt. Hast du mal getestet, ob dein Programm direkt bei der ersten Rekursion abschmiert oder ob der Speicher erst bei der x-ten Rekursion zu Ende ist?