ありがとうございます。
配列から取り出してもやっぱり出ます。

public Form1()
{
InitializeComponent();
this.myCache = new ListViewItem[5];
for (int i = 0; i < 5; i++)
{
this.myCache[i] = new ListViewItem(i.ToString("D5"));
}
this.listView1.VirtualListSize = 5;
}

private ListViewItem[] myCache;

private void listView1_RetrieveVirtualItem(object sender, RetrieveVirtualItemEventArgs e)
{
e.Item = myCache[e.ItemIndex];
}