I'm under the impression we do need to do this, as the $scope.$destroy function suggests cases where DOM events need to be cleaned up: http://docs.angularjs.org/api/ng.$rootScope.Scope#$destroy

I'd love to not have to as it's tedious, but if you find more info, want to send in my way?