Is it possible that the detection sometimes has false positives for some reason, or that the timeout is simply too low? Maybe the detection mechanism is fuzzy or racing?
Could it be possible to make this automatic detection of "frozen tabs" optional?
It could be let to the application how to deal with the fact that a broadcast call might not reach all tabs eventually or with a substantial delay.