HttpContext.Current.Items is supposed to be covered by an HTTP request. Did you confirm in subsequent HTTP requests that there are still the same number of elements cached? Perhaps checking the Items counter before any code populates it?
Shan Plourde
source share