Re-titled to more precisely identify the problem.

Hash table teardown is O(N^2) in the number
of table entries, unless one can guarantee that
the teardown loop is the only thing changing the
table.  That is, no callbacks!

Destructor callbacks are common in much of
the Tcl implementation, so we can expect to
hit this performance issue in many places.