Build your CQ Services so that every CQ Service uses its own ticket (and not the system ticket). Overlay rep. own implementation of AbstractService#getServiceTicket(Ticket) and create a separate ticket with the Ticket#duplicate() method.
When using ticket.duplicate(), make sure that such objects are closed (see [1]).
Note:
The system ticket itself is initialized at CQ startup, and closed only when CQ closes.