As melhores informações para o assunto encontrado no MSDN estão aqui: Execution Plan Caching and Reuse
. Citação do artigo do MSDN:
"Removendo planos de execução do cache de procedimentos
Os planos de execução permanecem no cache do procedimento enquanto houver memória suficiente para armazená-los. Quando existe pressão de memória, o Mecanismo de Banco de Dados usa uma abordagem baseada em custo para determinar quais planos de execução remover do cache do procedimento. Para tomar uma decisão baseada em custo, o Mecanismo de Banco de Dados aumenta e diminui uma variável de custo atual para cada plano de execução, de acordo com os seguintes fatores.
Quando a pressão da memória existe, o Mecanismo de Banco de Dados responde removendo os planos de execução do cache do procedimento. Para determinar quais planos remover, o Mecanismo de Banco de Dados examina repetidamente o estado de cada plano de execução e remove os planos quando o custo atual é zero. Um plano de execução com custo atual zero não é removido automaticamente quando existe pressão na memória; ele é removido apenas quando o Mecanismo de Banco de Dados examina o plano e o custo atual é zero. Ao examinar um plano de execução, o Mecanismo de Banco de Dados empurra o custo atual para zero, diminuindo o custo atual se uma consulta não estiver usando o plano no momento. "
É melhor ler o artigo completo, está muito bem documentado. Veja que ele também possui alguns links.