code: void postInvokePopCallbackContexts(EJSDeployedSupport s) {
          // Pop the callback bean if Activator.preInvokeActivateBean was called
          // successfully (excluding homes).                                 d694142
          if (s.ivPopCallbackBeanORequired) {
              s.ivThreadData.popCallbackBeanO();
  
              // If necessary, return the bean to the pool.  It will be null for
              // BeanNotReentrantException, which will prevent an in-use bean from
              // being returned to the pool.                                RTC107108
              BeanO beanO = s.beanO;
              if (beanO != null) {
                  BeanMetaData bmd = beanO.home.beanMetaData;
                  if (bmd.type == InternalConstants.TYPE_STATELESS_SESSION ||
                      bmd.type == InternalConstants.TYPE_MESSAGE_DRIVEN) {
                      try {
                          beanO.returnToPool();
                      } catch (RemoteException ex) {
                          FFDCFilter.processException(ex, CLASS_NAME + ".postInvoke", "359", this);
                      }
                  }
              }
          }
  
          s.ivThreadData.ivComponentMetaDataContext.endContext(); // d646139.1
      }
docs: Pop contexts from the thread for the callback bean.