I recently ran into this problem and also poked around a little and had the same observations. So i dug around Google XML Sitemaps’ code and found out some interesting things.
Note: Please double check the following things since I’m a Jr php developer and might be wrong in some way.
First of all. The generation breaks only when the sitemap is generated in a background process (the checkbox in the plugin settings is selected).
So I poked around a little more and found out that the Sitemaps plugin uses the WP-Cron to schedule the XML build 15 seconds after a post has been saved. What I believe to be the cause of the problem is that by the time the scheduler calls the script, the execution of the current one is finished and Polylang’s hooks do not fire.
Again: I could be off here, but in case I’m not … I hope this has been a helpful hint as to what the underlying problem is. I’m not sure if there’s a way to fix it in some future release, but if there is I’d really appreciate it since it would save me a lot of headaches. ??