Access to a QAManager is serialized. When you have multiple threads accessing a single QAManager, threads will block while one thread performs a method call on the QAManager. Use a different QAManager for each thread in order to maximize concurrency. Only one thread is allowed to access an instance of QAManager at one time. Other threads will block until the QAManager method that was invoked by the first thread returns.