AdMob Banner won't load after re-opening a scene

In my game there are 3 scenes, main menu, skin scene and game scene. When I enter the play mode and go from the main menu to the skin the ad shows up, even if I go back to the main menu and then load again the skin scene, the banner works fine. The problem comes when I from the main menu I go to the game scene. In fact after playing if I go back to the main menu and from there I go to the skin scene the banner doesn’t show up ever again. I think that it’s a problem in my AdMob script:
public class ADMob1 : MonoBehaviour

{
    string App_ID = "********************************";
    string Banner_ID = "ca-app-pub-3940256099942544/6300978111";

    private BannerView bannerView;

    void Start()
    {       
        MobileAds.Initialize(initStatus => { });    
        StartCoroutine(Delay(1.0f));
    }
    public void RequestBanner()
    {
        // Create a 320x50 banner at the top of the screen.
        this.bannerView = new BannerView(Banner_ID, AdSize.Banner, AdPosition.Bottom);

        // Called when an ad request has successfully loaded.
        this.bannerView.OnAdLoaded += this.HandleOnAdLoaded;
        // Called when an ad request failed to load.
        this.bannerView.OnAdFailedToLoad += this.HandleOnAdFailedToLoad;
        // Called when an ad is clicked.
        this.bannerView.OnAdOpening += this.HandleOnAdOpened;
        // Called when the user returned from the app after an ad click.
        this.bannerView.OnAdClosed += this.HandleOnAdClosed;
        // Called when the ad click caused the user to leave the application.
        this.bannerView.OnAdLeavingApplication += this.HandleOnAdLeavingApplication;
        // Create an empty ad request.
        AdRequest request = new AdRequest.Builder().Build();

        // Load the banner with the request.
        this.bannerView.LoadAd(request);
    }
    public void OnDestroy()
    {
        if (this.bannerView != null)
            this.bannerView.Destroy();
    }

    public void HandleOnAdLoaded(object sender, EventArgs args)
    {
       // MonoBehaviour.print("HandleAdLoaded event received");
    }

    public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
    {
       // MonoBehaviour.print("HandleFailedToReceiveAd event received with message: "
        //+ args.Message);
    }
    public void HandleOnAdOpened(object sender, EventArgs args)
    {
       // MonoBehaviour.print("HandleAdOpened event received");
    }
    public void HandleOnAdClosed(object sender, EventArgs args)
    {        
    }
    public void HandleOnAdLeavingApplication(object sender, EventArgs args)
    {
        //MonoBehaviour.print("HandleAdLeavingApplication event received");
    }

    IEnumerator Delay(float delay)
    {
        yield return new WaitForSeconds(delay);
        RequestBanner();
    }

Why you need to put Banner ad while you can put Interstitial ads?. Interstitial ads are useful in the transition between scenes. Also there is a very useful package from unity that will save a lot of time instead of writing that much code. Check this link from google developer for the full tutorial about installing Google Mobile Ads Unity plugin and implementing interstitial ads. Comenzar  |  Unity  |  Google for Developers