Дизайн ASP.NET предполагает, что провайдеры являются объектами без сохранения состояния. Поэтому вам следует разработать провайдера таким образом, чтобы вам не нужно было знать, когда он создается и когда он умирает. По сути, если вы действительно хотите это сделать, вы можете поместить фактическую логику в другой класс, который будет обрабатываться при создании и удалении класса прокси, который вы представите в ASP.NET.
Кроме того, ASP.NET не гарантирует, когда будет создан объект поставщика роли. Это что-то вроде статических конструкторов. Вы должны полагаться только на то, что они существуют, когда они необходимы.