Move threadDelay for gcThread at the beginning

This commit moves the `threadDelay` present in the `gcThread` function
at the beginning of the `go` aux rather than at the end. This has the
effect that the first GC happens _after_ the delay time and not
immediately, which might make some tests unpredictable if we get unlucky
and some job ids are removed from the underlying map before we can
inspect their state.
1 job for !181 with adinapoli/issue-198-part-2 in 28 seconds (queued for 3 seconds)
detached
Status Job ID Name Coverage
  Docs
failed #8036
allowed to fail
docs

00:00:28

 
Name Stage Failure
failed
docs Docs
zlib-bindings-0.1.1.5: database=snapshot, source=zlib-bindings (from Hackage), after: zlib-0.6.2.3
zstd-0.1.3.0: database=snapshot, source=zstd (from Hackage)

No executables to be installed.
$ cp -R "$(stack path --local-install-root)"/doc ./output
/usr/bin/bash: line 117: stack: command not found
cp: cannot stat '/doc': No such file or directory
Cleaning up file based variables
ERROR: Job failed: exit code 1