Only start up the cleanup threads if we're not adding a job - which returns instantly
Fix race between hold/in-use.

A node was held, then tested, before it was marked as in-use.
The delete thread then found the held node before it got marked.

Add a 5 minute delay in reporting a held node as held - if the thread
marking it as in-use takes more than 5 minutes after holding it,
this is sufficient to say it's broken.