That listener is useful for debugging as you will get notified for such events and identify how the corresponding event got triggered for a specific fact.
Facts are not retracted from Working Memory without a good reason. You might want to check in your rules actions and in your client code if there is no explicit retract/delete from WM.
One other possibility is if you are in a Complex Event Processing scenario, where facts can expire based on their duration and the time-based comparisons in your rules conditions. If your facts do not match any temporal constraints, the rule engine may automatically retract them from WM.