This is a known issue and I don't think it's related to a stored procedure. The LIST function returns a blob. Every temporary blob occupies a <page size> bytes of memory. When called multiple times, this memory consumption increases. The memory is freed upon transaction commit or rollback.