Yeah, I have to agree with Chilli and Count Zero. I thought the first part of the episode was perfect (the mind palace scene being by far my favourite part of the episode) but after that things started getting problematic. I don't believe for a moment that John would have so totally forgiven Mary. I think they should have either fully commited to Mary being the antagonist (and had her kill Magnusson, that would have been a great twist after all the buildup) or just left that part out. I think A Scandal in Belgravia is still the best Sherlock episode. Also, I wish they toned down the whole "the villain is a national security threat" angle. Two out of three episodes this season were like that and now Moriarty is back as well (on every screen in the country no less!). It's starting to feel more like a spy thriller than a crime drama. Not everything has to be earth-shattering.