Had this odd issue working on some code which uses XmlTextReader to pass through an XML string...basically, when I ran the code noemally, it worked every time, but when I ran in debug mode it would read the first node and skip all others.
Well, this drove me nuts, I wrote a bunch of test code etc...in the end another developer here noticed than I had the ReadOuterXML() method in my Watch debug window...well, that was the problem - never assume that the Watch window is passive - by calling the ReadOuterXML method, I was skipping all the nodes causing the issue.