Using a single frame is sufficient. In Ackis Recipe List, we parse thousands of items with the data-miner using a single tooltip. Using that approach, the longest perceived client freeze is roughly three to five seconds if we scan the entire database of recipes. Doing otherwise is creating a memory leak.
Frames are never garbage collected. The correct thing to do is to create a tooltip before any caching is done, and hide it. When caching, show the tooltip, set the hyperlink, do your thing. Then, re-hide it.