Документация angular говорит, что для выполнения кода для очистки при уничтожении контроллера необходимо зарегистрировать событие $destroy в области.
$scope.$on("$destroy", function() { ... } );
Однако, когда вы используете синтаксис controllerAs, у вас нет доступа к $scope. Как бы вы зарегистрировали событие $destroy?