Don’t hold on to too many AdInstances: Both methods getRewardedVideoAsync or getInterstitialAdAsync return an AdInstance which can be preloaded. Preloading 3 or more AdInstances without showing them will cause subsequent attempts of creating a new AdInstance to fail. This means that calls to getRewardedVideoAsync and getInterstitialAdAsync will start to fail with error code ADS_TOO_MANY_INSTANCES until showAsync is called or until the player restarts Messenger.
There could potentially be a bug in the extension code as well. This is where references to ad instances are kept and removed: