Hi Thomas,
It is completely multi-threading aware.
The reason for the blocking is technical, and specifically related to the synchronous open. That's after all what synchronous means.
Frankly, I can't think of a good reason to use a synchronous open, that's why the async open exists.
Cheers
Bruce