There were 2 cases when my users forgot their password, tried to change it, but got in a loop. I’m not sure that the loop is caused by your plugin, but both times, when I checked up on the situation, I saw that the users got unverified in this password change process. Do you have any idea why this is?
My suggestion was to try and change the current option in Authenticate filter to see if it fixes your issue. If currently it is “wp_authenticate_user” filter then change it to “authenticate” filter or vice versa.