There is an issue with XEffects that we need to remember: pointers to scenenodes with shadows are being queued intern in XEffects and need to be deleted explicit. There’s especially an issue when objects like grid are being updated.
So, if you are adding a shadow to node:
EffectHandler->addShadowToNode(sceneNode, getFilterType(), getShadowMode());
remember do delete shadow when node is removed: