My problem with a background task is determining when the outbound delivery actions (create, change, delete) have finished. Short of putting in a 5 minute delay and hoping for the best.
Are you aware of any functions that can determine when a transaction has ended?