Running eZContentObject::expireAllCache() is unnecessary, and actually a bit dangerous ! It completely expires all content-cache and cache-blocks... I don't feel like it is what you need.
What you could do instead is use eZContentObjectTreeNode::removeSubtrees() with the $moveToTrash parameter set to false: