The standard doesn’t say something about the runtime behaviour, I only saw that the windows debug version at least is locking something, maybe I just worry too much
Can you provide a test case which demonstrates it locking? MSVC’s STL implementation is open source and it looks like it just relies on the version of free in the system stdlib.h. I would be very surprised if that wasn’t standard-conformant: