commented out scope.$on('$destroy', function ()... it should be called after child scopes destroy.