If we consider Barbe-Rouge story, we could even imagine Mary is CAM's adoptive daughter living under a fake identity because unlike him (and like Eric Lerouge), she wants to live a honest life, and not a "pirate" (baddie). (yet I'm sure the Holmes would know about that and again, I can't really imagine Sherlock leaving John marry Mary with that knowledge. Unless it's part of a plan: Sherlock may think he'd get to CAM more easily pretending he doesn't know about this, and sure he will be able to free Mary from CAM, hence his vow to protect her and John... A mistake??)
Also, I find it interesting that he calls her "poppet":
"~~The word poppet is an older spelling of puppet, from the Middle English popet, meaning a small child or doll." (wikipedia)
Puppet, huh? Is it to remind Mary, on her wedding's day, that she's just a puppet for him and that she can do whatever she wants to escape him (getting married, trying to live a normal life), he's still the one pulling the strings, and he can do what he want of her... and of John???