Здесь вы загружаете объявление при закрытии:
override fun onAdClosed() {
mInterstitialAd.loadAd(AdRequest.Builder().build())
}
Здесь, когда оно загружено, вы снова показываете:
if (mInterstitialAd.isLoaded) {
mInterstitialAd.show()
}
это бесконечно.
, если вы не хотите, чтобы оно показывалось снова и снова, отмените одно из двух.