Whenever a function needs to run on the UI/background thread, it should be mentioned in docs and together with annotation.
In addition, I've noticed that the function of MobileAds.setRequestConfiguration requires that we first finish calling MobileAds.initialize, and it's not mentioned on the docs:
All it says is:
"
Sets the global RequestConfiguration that will be used for every AdRequest during the app's session.
"
In the past, it was actually ok to use it anywhere. If I try it before, it will cause an exception.