Removes an instance from the pool and returns it for use
by the container in business methods.
If the pool is at it's limit the StrictPooling flag will
cause this thread to wait.
If StrictPooling is not enabled this method will create a
new bean instance performing all required injection
and callbacks before returning it in a method ready state.
All instances are removed from the pool in getInstance(...). They are only
returned by the Container via this method under two circumstances.
1. The business method returns normally
2. The business method throws an application exception
Instances are not returned to the pool if the business method threw a system