Здравствуйте, подскажите что я делаю не правильно. Класс обращается за данными каждые 10 секунд. При какдом запросе приложение все больше и больше памяти "съедает" (смотрю через flash.system.System totalMemory). Как грамотно освободиться от утечки?

Код AS3:
public class NameClass
{
private var variables:URLVariables;
private var urlRequest:URLRequest;
private var loader:URLLoader;
private var timer:Timer = new Timer(10000, 0);
private var error:String;
public function NameClass()
{
timer.addEventListener(TimerEvent.TIMER, request);
timer.start();
}
public function stop():void {
timer.stop();
}
public function start():void {
timer.start();
}
public function get error1():String {
return error;
}
private function request(e:TimerEvent):void {
variables = new URLVariables();
variables.md5 = MD5.hash("SomeString");
variables.data = "data";
urlRequest = new URLRequest("http://192.168.10.50/test.php");
urlRequest.data = variables;
urlRequest.method = URLRequestMethod.POST
loader = new URLLoader();
loader.addEventListener(Event.COMPLETE, update);
loader.addEventListener(IOErrorEvent.IO_ERROR, io_error);
try {
loader.load(urlRequest);
}
catch (error:Error) {
loader.removeEventListener(Event.COMPLETE, update);
loader.removeEventListener(IOErrorEvent.IO_ERROR, io_error);
}
}
private function update(e:Event):void {
loader.removeEventListener(Event.COMPLETE, update);
loader.removeEventListener(IOErrorEvent.IO_ERROR, io_error);
//Обработка
}
private function io_error(e:IOErrorEvent):void {
e.currentTarget.removeEventListener(Event.COMPLETE, update);
e.currentTarget.removeEventListener(IOErrorEvent.IO_ERROR, io_error);
error = "Ошибка I/O";
this.stop();
}
}