Сборщик мусора (Garbage Collection - GC) автоматический процесс во Flash-плеере, который удаляет данные из памяти, когда они более не нужны. GC оценивает необходимость удаления по двум критериям: счетчик ссылок (reference counting) и очистка по меткам (mark and sweep)
1.
Счетчик ссылок - это процесс, который следит за количеством переменных, ссылающихся на объекты в памяти.

Код:
var a:Object = new Object(); //создается новый объект и новая переменная "a", которая ссылается на этот объект, счетчик ссылок = 1
var b:Object = a; // еще одна ссылка на тот же объект, счетчик ссылок = 2
Когда не останется ни одной ссылки на объект, то он будет удален из памяти.

Код:
a=null; // счетчик ссылок стал равен 1
b=null; // счетчик ссылок стал равен 0, и объект будет удален из памяти
Есть случаи, когда счетчик ссылок не сработает, например:

Код:
var a:Object = new Object(); // счетчик ссылок на первый объект = 1
var b:Object = new Object(); // счетчик ссылок на второй объект = 1
a.b = b; // счетчик ссылок на второй объект = 2
b.a = a; // счетчик ссылок на первый объект = 2
a=null; // счетчик ссылок на первый объект = 1
b=null; // счетчик ссылок на второй объект = 1
Обе переменные "a" и "b" более не ссылаются на объекты, но первый объект доступен из второго и второй доступен из первого. В данном случае счетчик ссылок не сработает, пора приниматься за дело процессу очистке по меткам.
2.
Очистка по меткам – это процесс, который сканирует все объекты от базового класса (root или stage) и помечает каждого, кого нашел. Все не найденные объекты недоступны и потому будут удалены. Из предыдущего примера про "a" и "b", поскольку "a" и "b" более недоступны из root они не будут помечены и будут удалены.

Код:
[root] <- сканирование...
[objectRef (помечен)] <- сканирование...
[objectRef (помечен)] <- сканирование...
[objectRef (помечен)] <- сканирование...
[objectRef (помечен)] <- сканирование...
[objectRef (помечен)] <- сканирование...
...
[удалить все непомеченное]
Очистка по меткам очень ресурсоемкий процесс, поэтому выполняется редко, решение о том, когда запустить процессы удаления данных из памяти принимает flash-плеер сам, и программно инициировать эти процессы мы не можем.
MerlinTwi: Хочу обратить ваше внимание на то, что добавление обработчиков событий к объекту (или setInterval) не позволит сборщику мусора (GC) удалить этот объект, т.к. на него остаются ссылки из процессов рассылающих события. Например:

Код:
init();
function init():void {
var test:Sprite = new Sprite();
test.addEventListener(Event.ENTER_FRAME, handle);
}
function handle(e:Event):void {
trace("enterFrame");
}
Локальная переменная test, ссылающаяся на созданный спрайт удалена, сам спрайт недоступен из root или stage, но он не будет удален из памяти т.к. спрайт слушает событие enterFrame, и функция handle будет продолжать срабатывать. Для того чтобы объект был удален, нужно освобождать слушаемые им события, когда они более не нужны:

Код:
test.removeEventListener(Event.ENTER_FRAME, handle);