This PR converts the hard-deletion interval to a timeout: - to prevent the interval from not being restored when hard deletion throws, and - to prevent a long-running hard deletion from leading to duplicate deletions.
This PR converts the hard-deletion interval to a timeout: - to prevent the interval from not being restored when hard deletion throws, and - to prevent a long-running hard deletion from leading to duplicate deletions.