To get a better idea of what is causing this, open your call stack window in VS (Debug --> Windows --> Call Stack) and that should give you an idea of what is causing it. I assume you know what an infinte loop is and recursion can also be likend to an infite loop if implemented incorrectly, consider:
Private Sub foo()
Dim i as Integer = 0
While i = 0
So recursion is the technique whereby a Method or Function calls itself until some condition is met but, as the example above shows, there is no condition to stop the recursion since i is never incremented the While loop will continue to call the method foo()
Read this if you want to know how to get a correct reply for your question:
.: Wrox Technical Editor :.
Wrox Books 24 x 7