It looks like you are creating new Objects adding it to your stage and removing unwanted objects from the stage, which might lead to slow speed as there will be lots of unwanted object in the memory. In flash AS3, you can not totally rely on GC for garbage cleanup. So the best approach is to generate least possible amount of garbage and recycle unused objects whenever you need a new object.
For example, an application keeps putting some circle to the the stage and removing some of them at fixed time interval. So for this kind of resource implement a resource pool.
public class ResourcePool {
static function getCircle(prop:Object):Circle {
//check if you already have some circle objects
//if yes pick one apply the prop and return
// else create a new circle with specified prop and return
}
static function recycle(circle:Circle):void {
//add it to available resource array
}
}
Now when you need a circle object then ask the ResourcePool for that:
var c:Circle = ResourcePool.getCircle(someProperty);
And whenever you are removing a circle then recycle it properly so that it can be used later.
//remove circle1 object
ResourcePool.recycle(circle1);