@surface whereabouts are you?
I highly recommend getting in touch with your local ASSA branch so that you can attend a star gazing event (normally held monthly during new moon/dark moon).
I joined the Cape Town branch and attended a few evenings. You are able to test out various different...
The amount of lines were known up front, right?
Could also have tried a normal for loop (i.e. for (int i = 0; i < lines.Count(); i++)) and then using Modulus (i % 500) to determine when to switch to a new file.
Glad you got sorted :)