This should be symbol_w, not str_w.
Move recursion_guard_outer() to Topaz::Thread.