Steve, I've noticed some large hangups with listview, and looked into it a bit, you might find this topic useful:
https://stackoverflow.com/questions/9008310/how-to-speed-adding-items-to-a-listviewIn a nutshell, calling:
listView.BeginUpdate(); before a for/foreach loop and ending withlistView.EndUpdate(); should improve performance here significantly.
The above topic also goes into more detail for getting even further improvements, but at least the above should improve things significantly.