Less racy specs for Process.exit!

There would a small chance where the sleep(1) call would complete _before_ the
Thread.new { ... } block finished running. After all, there's no guarantee a
thread starts right away.

By removing the sleep(1) and adding a Thread#join call we can ensure that the
Process.exit!(2) is _only_ called when the @object.exit!(1) call doesn't
immediately terminate the process.

At least I hope, you never know for certain when it comes to multi-threading.