Creates a new object or returns a free object from the pool.
a PoolObject instance already initialized