Joining a thread will cause any exception that was raised by and terminated that thread to be raised in the parent thread doing the join.  You need to protect any join with error handling and logging or the first thread to error will kill the whole `check_multiple` and leave the rest of the threads in `@tl` running in the background and only accessible with the `threads` command or using `Thread.list` in ruby.