I have changed my macros now using this layout:
StringDataList equ
macro OpenStringData{local z
StringDataList equ StringDataList,z
macro z{}
CloseStringData fix }
macro PlaceStringData{macro execute[instr]{forward instr\}
match instr,StringDataList{execute instr\}
purge execute}
And I use like this:
OpenStringData
;arbitrary code can follow
string1: db 'Hello world',0
xor ebx,ecx
;...
CloseStringData
;... some code etc.
PlaceStringData
Now my stack usage has reduced to less than 2k
PS: Great work with fixing the "application error". 30 minutes after reporting it is fixed. Now that is good service.