Vishwas, could you elaborate a little more on what you said?
How can these two blocks create a loop? Aren’t these blocks called in two completely different situations?
You load the ad when the screen opens, which is perfectly fine.
Now, assume your ad fails to load (can be due to several factors, “lack of ad inventory” being a common one).
You retry loading the ad, but it fails again (due to the same reason the previous load failed).
Basically, load ad calls ad failed to load, which calls load ad again. The functions call each other recursively, thus leading to such high request rates.
I suggest you send Google an email explaining what happened so that they don’t suspend your account.
I suggest you change your blocks as soon as possible.
The blocks you’re using work fine as long as AdMob ads load normally. In case some day you have a no-fill error, you’ll see your ad requests explode to millions (as what happened to @RonSan)