|Welcome to the Monastery
I found the problem(s). My issue kept getting complicated by the fact that the way I'd fix one issue would cause another. Something in my loop structure before was originally causing the issue. So when I used the 'self' function to test for loop exit, it helped me fix my loop. The ->self function though appears to have been what was locking the threads and preventing them from rejoining. Once I removed those two lines, I was golden.