You need to make sure the Chunk is set non-cacheable on each loop like so:
foreach ($childs as $child) {
$chunk->setCacheable(false);
$output .= $chunk->process($child->toArray());
}
However, I would recommend instead you use this within the loop:
$modx->getChunk('chunkName', $child->toArray());
This uses built-in element caching in MODX. It will not get the object from the db on each call, and if the page is cached, it does not even have to go to the database to get the Chunk object.
Another alternative, is to use the following instead of getObject() to get the Chunk:
$chunk = $modx->parser->getElement('modChunk', 'chunkName');
This also will make use of the built-in element caching. However, this method also requires the call to
$chunk->setCacheable(false);
within the loop...