Leonid
ты прав! без конката вернул память, после завершения функции
как теперь избежать последствий конката?
По-моему, никак, потому что, грубо говоря, concat берёт из двух ячеек памяти данные и клеит их в новую того же размера. А потом старые данные чистятся. Можно посмотреть, как клеить данные на месте.