Object pools complicate object lifetime, as objects obtained from and returned to a pool are not created or destroyed at this time. Object pools are primarily used for performance in some circumstances, object pools significantly improve performance. When the client has finished, it returns the object to the pool rather than destroying it.
See also: SHA-2, IIf, X86 instruction listings, and Biogeography-based optimization.