There is no bug free software, but one thing to keep in mind when using Collision operators and Deflectors is that the order of operators matters. Depending on where in the event or in the flow the Collision is processed relatively to the Spawn operator, some particles might just pass through. In the simplest case of a single Event, Spawn and Collision, if the Spawn operator is placed after the Collision, the Collision will process the new particles in the next integration step, and at that point they might have already passed through the Deflector. If the Spawn is before the Collision, the new particles should hit the Deflector. If they still pass through, reducing the Integration Step duration might help (esp. with complex mesh-based deflectors).
In the more complex case of sending out the trail particles to a new Event, obviously both Events need the Collision to happen after the Spawn, or putting the Collision in the Global Event to it processes the collisions after all Speeds have been assigned, but before the new Positions have been calculated.
If you would post a simple test scene showing the leaking particles, someone on this forum might take a look and see if there is anything obvious you could do…