How to correctly get a IDisposeable when you need to lock the factory?
Yes, assuming the factory is shared between threads and the created object doesn't contain any resource that is shared with other objects from the same factory.

But as was already pointed out in your previous question, a better solution might be to have a separate factory for each thread. Factories usually don't use much resources, so it should be fine to have more of them.