I sometimes create custom questions which lead to setting a field on the contact or opportunity or other object.

Have you considered an option on CQ processing which allows the CQ to be deleted after being processed. Basically a checkbox that says delete CQ after doing the appropriate field replacement.