It's because I have not described the complete implementation of the heap manager in detail. I just gave a general overview of how the common case works. All edge cases are handled (if one of the is not, then it's a bug in the implementation and it should be reported).
Stop the myth with "special heap for threads". Not in free pascal. Period.It might be that some people have seen too much Microsoft stuff. Windows and the M$ C++ compiler work with TLS - Thread Local Storage. Not free pascal.