If I remember correctly, I've reported this problem before...
I've currently got a database with roughly 11000 rows and I get a white screen of death when using collection. Echoing before and and after hand doesn't show anything so my guess is it cleans the entire page with ob_clean or something... Anyway, I solved the problem with using the getIterator, but again this should not be happening.
$query = $modx->newQuery('ucsAssortment', array(
'resellerid' => $ucs->reseller->get('id'),
'customerid' => ((isset($customer) && $customer != null) ? $customer->get('id') : 0),
'productid' => 0,
'productcategoryid' => 0,
'categoryid:!=' => 0,
'active' => 1
));
$query->select(array('categoryid'));
$query->query['distinct'] = 'DISTINCT';
$assortment = $modx->getIterator('ucsAssortment', $query);
ucsAssortment has 9 rows of which 6 are IDs and I've got indexes on all of those ID rows. Finally an active, createdon and editedon row, plus an ID on itself since the table is an xPDOSimpleObject.
So, you need to replace getIterator with getCollection and then it totally fails... How come?
I've cleaned the cache, renamed the cache and created a new folder, no errors in the log in both cases, completely removed and replaced the modx/model and xpdo directory and still nothing... This is pretty problematic.