Variable created inside task, where should it be allocated?

I thought you were asking why the address of buf is lower than stack start :thinking:
For me the buf address looks good.
Or do you want to know why MPLABX shows a stack size you don’t expect ?
You might try to init buf e.g. filling it with zeroes and check again with MPLABX.
I guess it’s determining the end of stack by searching for the stack fill pattern applied with stack checking enabled as far as I know.