if we pass NULL to Realloc, the lock will be obtained once by the #Realloc function, and a second time (#recursively) when Alloc is called.