iOS 11 introduced the ability to allow apps to only access your location while you're actively using the app. Using this method should be a good mitigation.
If Waze is using it for up to 40 minutes after traveling, you need to decide if you want to know where the cops are or if you want Google to know where you are.
I always force quit Waze at the end of the trip so that it (1) stops tracking me and (2) I don't waste my phone's battery life on tracking me
It is one of the few app categories that can do that; the other is VOIP.
I don't see why it's surprising that MoviePass tracks your location when you open the app to look up movies or check in. Would that not be obvious?