Since FreeRTOS uses the stack to hold the context for non-running tasks (68 bytes for 17 registers !) the minimum stack size is actually relatively large. Furthermore, if the task code calls any library functions, the stack will need to be big enough to hold any data allocated on the stack and any registers saved. Most threads will need 128-256 bytes.