Not agree. Only use 'Runtime object counts' is not enough, this method is not able check whether the main document is 'really idle' for some time. Let's consider the following case.
0.0s, open window A;
0.5s, close window A;(since no open window, will check main document status 2s later - at 2.5s.)
1.0s, open window B;
2.0s, close window B;(since no open window, will check main document status 2s later - at 4.0s.)
2.5s, check main document status.

If we use your proposed method, the main document should enter suspending state at 2.5s since there is no open window at this time. While actually the main document is not 'REALLY IDLE' at this peroid, it just handle 'close window B' 0.5s before.

Another consideration to use 'close_sequence_id'  is, besides Runtime counts change,  there may be other cases that will cause suspend/cancelSuspend main document.