Почему вы хотите, чтобы что-то было частью списка отображения? Вы говорите: он, однако, будет содержать вещи для отображения.
Если вы хотите составить отображаемые объекты, например, делать что-то вроде:
var container:Sprite = new Sprite();
var image:Sprite = new some_lib_image();
var image2:Sprite = new some_other_lib_image();
container.addChild(image);
container.addChild(image2);
stage.addChild(container);
Тогда это полностью приемлемо. Если вы хотите создать класс с именем ImageContainer, который управляет добавлением и удалением изображений, и использовать его вместо Sprite - это тоже вполне приемлемо. Я бы не назвал это искушением, но я бы этого не сделал, если бы вы не добавили что-то стоящее в приведенный выше код.
Существуют ли значительные затраты памяти на ненужное расширение класса Sprite?
Не особенно. Размер вашего класса обычно будет примерно таким же, как sizeof (Sprite) + sizeof (instanceVariables []), где instanceVariables [] - это новые переменные, которые вы объявляете в своем классе. Я бы не беспокоился об этом. Композиция дороже, чем наследство; без необходимости использовать слишком много контейнеров. В общем случае я никогда не беспокоюсь об этом, но если бы я создал 5000 частиц в системе частиц, я бы постарался сделать каждую частицу максимально простой.