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.

Now, I'm a major Jon/Dany shipper. So, of course, when I think that Daenerys will betray someone for love, I automatically think "for Jon". Now, I think that when Dany comes to Westros she will join her forces with Aegon. Then she will fall in love with Jon (who will be free to marry her as he died and will (probably) be revived by Melisandre - the vows say "until the hour of my death.") but one of the conditions Aegon set is that if he helps her she will marry him. I think Daenerys will betray him so she can marry Jon. This will make her qualify as Azor Ahai, who tempered his sword by plunging it into his wife's heart (she wouldn't be married to Aegon yet, but they would have married soon so it still works). Everyone assumes that the Wife's heart means someone she loves but it doesn't have to, it can just mean someone she married or will marry (though on second thoughts, Hizdahr would also qualify in that case).