Correct me if I'm wrong, but I'm near certain
Expect is not and has never been thread safe.

I don't think it even qualifies as single-thread,
multi-interp safe.  It's got global vars all over
the place.

Something for Expect devs to fix (if you find any),
not a bug in Tcl or in Thread.