Fix a non-tail-recursive call that leaks memory

By recursing in the protected body of a try/catch we weren't properly
using tail recursion when restarting the changes feed. This leads to
mailbox accumulation of messages which slowly eats all RAM on the node.

BugzId: 20601