This is a good question because it's important to understand the lifecycle of ejbs in order to use them correctly. Be careful using the word EJB Object because EJBObject is the remote interface for an EntityBean instance. It is the EntityBean instances that are pooled and not EJBObjects. unSetEntityContext() is called before a pooled EntityBean instance (i.e. without identity) is removed from the pool.
The ejb spec at java.sun.com has sequence diagrams that describe this behavior. It is definitely worthwhile to take a look at. Also, Oreilly's ejb book has got some nice diagrams in the appendices.