Indeed, to quote:
This function is useful for cheaply allocating storage for a sequence of values for a brief duration. Storage may be allocated on the heap or on the stack, depending on the required size and alignment.
The guarantee here is that with[Unsafe]TemporaryAllocation will somehow allocate memory, and that it will try to do so "cheaply". It would be totally valid for it to never use the stack (though possibly not ideal, depending on the implementation; e.g. calling malloc() even for small blocks would probably be bad, but on a system with less stack space it might choose to use a bump allocator or something).