I should never have digged through this part of the code base.
In a function (EstimateTime), a background thread with a while(true) loop (terminated using Abort() -- yeah, Abort), at the end I found this comment:
Thread.Sleep(500); // Estimate time every 5 seconds.
Yeah, that's not how milliseconds work.
And why not use the built in C# class Timer?
I don't know. I give up.