We have a case where MediaElement_Loaded is the last thing called before the app stops playback. Other threads are working fine and the app is responsive, it just isn't playing.
MediaElement_MediaOpened / MediaElement_MediaFailed are never called.
My guess is that it is hanging here. Ideally the watchman should be created before we try and call play, not after, even though Play() is a non-blocking call, apparently.