A little performance testing finds that getting message headers into the warehouse is much faster than resolving new headers to the full message. This can cause the warehouse to grow indefinitely, a memory leak.
Need to limit the size of the warehouse and turn it into a circular queue that holds the most recent N message headers.