I've figured out the problem I'm experiencing, and it looks like a bug in Sammy.
During run(), checkLocation() is called before _location_proxy.bind() is called. If I unload() in one of my route handlers, unload() will be called before _location_proxy.bind(). Hence, the _location_proxy.unbind() from unload(), will be for naught.
Recommendations for a fix?