If the application is in a state where the marking cycle is sufficient to reclaim memory in the old generation (no mixed gcs started) for a long time, marking cycles will be started over and over again.
Ie. G1 adaptive IHOP will always stay the same, and may perform way too many marking cycles with no gain.
An application which does so is fft.large from SPECjvm2008.
In such cases, by detecting this case and adapting the IHOP value anyway, the number of marking cycles (and gc overhead) can be cut dramatically.