This method is the "victim" according to your description, so the code is irrelevant for the given problem (unless there was some indirect recursion in this code - but then it presumably would always repeat twice with the same input data).
Search for all *callers* of the above mentioned method. Is it called by some GUI callback? This might disturb control flow if stopping on some breakpoints.
You may also write a stackdump as first action in this method do identify who calls it at normal execution (i.e. when executed outside the debugger).
E.g. see
How to log the current call stack in .NET[
^] on how to get the stack dump.
Cheers
Andi