Shouldn't we always pre-allocate to size?  If we bypass the query's max limit and size is larger, we'll want to pre-allocate the space so we don't take cpu cycles expanding the list.