Thanks for that thought.
I failed to mention that sometimes a report lines collection has report lines that always relate to the same report, and sometimes they do not.
I mean, the issue is not one of scalability in my case, but rather of elegant, sensible design. If I call a report line collection on it's own, and I need to iterate through it, and identify what report each line belongs to (each one belonging to a different report), then a report object will be lazy loaded by the Report property of ReportLine one at a time.
I thought about it some more and I think the solution is to create new methods on another object that gets collections that are organized by group differently.
Thanks for your response, I really appreciate it.