We still try to avoid using pools from different threads. When its done its only done on a second hand context, eg.. uuid_setvar Since Sessions have their own pool, and uuid_setvar is used from another thread, the only solution is to use mutexes. That is why the patch we added is designed to activate mutex mode only when needed which we do need in FreeSWITCH. You could go on to ask him in your thread if you wish why they have not commented on our patch that has been submitted for several years now to get the few patches we have into main APR so we don't have to use our own. We have tried to explain it to them a few times and usually the answer is: meh! and its dismissed.
I would argue that FreeSWITCH gets its fair share of heavy use and has a reputation for scalability. This is all done with mutexed pools so its clearly not the end of the world to do it.
The final result is we are forced to use our own copy to make sure we get the functionality we need.