It might be worth naming this method something like `delete_when_safe` given that:
* There is enough contextual information about what is being deleted
* It addresses the small risk the method's implementation might be inlined and the delay lost (the controller spec doesn't test the delay—arguably a good thing)