La mejor información para el tema que se encuentra en MSDN está aquí: Caché y reutilización del plan de ejecución
. Cita del artículo de MSDN:
"Eliminar planes de ejecución de la caché de procedimientos
Los planes de ejecución permanecen en el caché de procedimientos siempre que haya suficiente memoria para almacenarlos. Cuando existe presión de memoria, el Motor de base de datos utiliza un enfoque basado en el costo para determinar qué planes de ejecución se eliminarán de la memoria caché del procedimiento. Para tomar una decisión basada en el costo, el Motor de base de datos aumenta y disminuye una variable de costo actual para cada plan de ejecución de acuerdo con los siguientes factores.
Cuando existe presión de memoria, el Motor de base de datos responde eliminando los planes de ejecución del caché de procedimientos. Para determinar qué planes eliminar, el Motor de base de datos examina repetidamente el estado de cada plan de ejecución y elimina los planes cuando su costo actual es cero. Un plan de ejecución con costo actual cero no se elimina automáticamente cuando existe presión de memoria; se elimina solo cuando el Motor de base de datos examina el plan y el costo actual es cero. Al examinar un plan de ejecución, el Motor de base de datos empuja el costo actual hacia cero al disminuir el costo actual si una consulta no está usando el plan ".
Es mejor leer el artículo completo, está muy bien documentado. Ver que también tiene algunos enlaces.