CCBreader中CCNode和CCBAnimationManager相互引用内存泄露

CCBreader在读取ccbi文件时有下面2段代码

CCDICT_FOREACH(animationManagers, pElement)
{
CCNode* pNode = (CCNode*)pElement->getIntKey();
CCBAnimationManager* manager = (CCBAnimationManager*)animationManagers->objectForKey((intptr_t)pNode);
pNode->setUserObject(manager);//在node中增加了一个CCBAnimationManager引用

    if (jsControlled)
    {
        mNodesWithAnimationManagers->addObject(pNode);
        mAnimationManagersForNodes->addObject(manager);
    }
}

if(memberVarAssignmentType == kCCBTargetTypeDocumentRoot) {
mActionManager->addDocumentOutletName(memberVarAssignmentName);
mActionManager->addDocumentOutletNode(node);//在CCBAnimationManager中增加了一个node引用
} else {
mOwnerOutletNames.push_back(memberVarAssignmentName);
mOwnerOutletNodes->addObject(node);
}

上面2行关键代码会导致场景结束时2个变量都无法释放。引用计数还是1。请教下这个地方是需要特殊的处理吗?
我现在临时方法是node在cleanup时手动setUserObject(NULL)。

cocos2dx版本是2.2.2

版主在的话还请帮忙回复下