The best thing to do is set a breakpoint on this method, then let it hit it a few times. Next look at your call stack window and see what's causing this cyclic behavior. One example could be you're listening to ExtentChanged, which in certain conditions might call back to this method, and then you get yourself an infinite loop.