Couldn't figure this out, but switching packages to csvtojson seemed to resolve for me
const parser = csvReader({ columns: true });
const reader = fs.createReadStream(...).pipe(parser);
while (1) {
reader.pause()
await something()
reader.resume()
}
After around the 6th? resume, it will consistently close the read stream for reasons that elude me