The bodyguard stays in the container (alive) when the bean is passivated. If the EJbObject (bodyguard) was passivated as well, how can the client make another business call? It would have no way to tell the container that he/she is ready to make another call.
Session: Once the EJBObect (bodyguard) is created, it is NOT alive in the container if the container calls ejbRemove() (either client calls remove, or times out during active), when the container crashes, and times out during passivate (for statefull, gc is called).
Entity: The EJBObject is alive once the client calls the create() on the home interface. The EJBObject might be on the container as long as the client does not remove the entity in the database, because the client is allowed to invoke the findByPrimaryKey(key), and states the Container can either make or find an EJBObject. (Not sure if guaranteed by container)