Questa è l'impronta dello sniffing dei parametri. Vedi qui per un'altra discussione a riguardo; Prestazioni del piano di esecuzione della stored procedure SQL scadenti - sniffing dei parametri
Esistono diverse soluzioni possibili, inclusa l'aggiunta di WITH RECOMPILE alla procedura memorizzata che funziona circa la metà del tempo.
La soluzione consigliata per la maggior parte delle situazioni (sebbene dipenda dalla struttura della query e dello sproc) è NON usa i tuoi parametri direttamente nelle tue query, ma salvali piuttosto in variabili locali e quindi usa quelle variabili nelle tue query.