NOTE: CONTAINS SPOILERS. DO NOT READ IF YOU ONLY WATCHED THE TV SHOW OR HAVEN'T FINISHED aDwD (if you did only watch the TV show, go pick up the books. Now. They are waayyy better.)
When Daenerys goes into the House of the Undying, it is prophecied that she will know three betrayals. Both she and the fans assume that this means she will be betrayed three times. I have a different theory.
The last betrayer will be Daenerys. Note that the prophecy said she would know three betrayals and this is the sort of book where the exact words matter. At first I thought it would be "for blood" in that she will abandon (thereby "betraying") Meereen to go to Westros. The for blood would then have a dual meaning: Daenerys is fom Westros, so she has Westrosian (is that even a word?) blood, but she would also want to conquer it, which would result in blood being spilt. However, this seems unlikely because Mirri Maz Duur would seem to be the betrayer "for blood". Daenerys would never betray someone for gold. That leaves only one possibility: for love.