Actually the virtual collection works in a bit different way. You always have strict number of total items (VirtualItemCount) and the collection itself initially is a collection of empty (null) items. When you scroll down the ItemsLoading event will be called and empty (null) items in the collection will be replaced with the new items. When an item is already loaded the collection will not call ItemsLoading event for this item.
the Telerik team