I believe the actual bug must be in Tk::Trace which is used by Tk::ProgressBar.
I looked at the source code of Tk::ProgressBar itself but as far as I can tell there is nothing that could cause this memory corruption.
The problem seems to be triggered by the fact that the same variable is traced both from a -textvariable in a Label and from Tk::ProgressBar.