Метод удаления никогда не будет вызываться, поскольку поставщик должен реализовать эту функцию. Существует несколько случаев, когда Provider.Remove вызывается в модуле OutputCacheModule. Некоторые пользовательские провайдеры, которые я видел, проверяют время истечения (или другую логику истечения) в методе Get.
Поведение по умолчанию для кэширования вывода заключается в использовании поставщика памяти. Обычно вы подключаете OnItemRemovedCallback при вставке элемента в кэш памяти HttpRuntime. На самом деле кеш HttpRuntime высвобождает его по времени, поэтому ваш пользовательский код провайдера никогда не будет удален.
НТН