Судя пл кусочкам описания переменная
pPic создается где то внутри функции (метода ) класса поэтому на уровне класса и в других методах она "не видна", т.к. живет только во время исполнения метода в котором определена. Но это не беда, в принципе вы делаете правильно, нагрузка может расти не только из за того, что накапливаются объекты в памяти, но и из за того, что текущие анимации большие и жрут либо процессор, либо память.
Код, как я уже написал, принципиально правильный. Можно было бы упростить ( переменная класса
target вам вообще не нужна, т.к. используется внутри одного метода ):

Код AS3:
/* строковая переменная в аргументе должна быть
обязательно, поэтому дефолтное значение убираем*/
private function deleteOb(nameOb:String ):void {
const somePict:DisplayObject = sprMain.getChildByName(nameOb);
if ( somePict ) sprMain.removeChild( somePict );
/* если на этот объект больше никто не ссылается
(на уровне класса) - считайте что он уничтожен.*/
}