The hot card cache scan time is intermixed with the flushing of the refinement buffer, i.e. Update RS time. If the hot card cache is large, this makes the prediction of the costs per card very wrong.
Since costs per card is used for determining update RS time, i.e. the base time for the evacuation, this makes this prediction very wrong.
I.e. we do:
base time = predicted update RS time + ....
predicted update RS time = cost-per-pending-cards * amount-of-pending-cards
cost-per-pending-cards = integrate (update rs time / number of processed cards)
The problem is that update RS time is not just the time it takes to process the number of cards in the current refinement buffers, but includes (constant) HCC scan time. If the latter is large, the cost-per-pending-cards is actually very much overestimated.
I.e. update RS time != number of processed cards * time per card , but number of processed cards * time per card + (constant) HCC scan time
The problem is, if the base time is mispredicted (too large), the predictions are way off.