Studio::EventInstance::release marks an event instance to be released as soon as it is stopped. We therefore generally recommend calling
Studio::EventInstance::release as soon as you start the event instance, so that it can be cleaned up immediately as soon as it finishes playing. Since you are only calling
Studio::EventInstance::release after the event has stopped, FMOD is warning you that the event’s sounds cannot be released because the event has not been marked for release.
If you allow an event to fade-out when stopping it, it may take some time to stop. Since you are calling
Studio::EventInstance::release immediately after calling for the event to stop, this means that the event is being marked for release before it finally stops, thus preventing the situation that causes the warning.
Pausing an event does not change the event’s playback state, so playing event that is paused still has the “playing” playback state, not the “stopped” playback state. This is intentional, to allow paused events to be un-paused and resume playing at a moment’s notice.
In other words, it sounds like you’re experiencing the expected behavior.