Problem z różnicą między wywoływaniem SP bezpośrednio i z kodu .NET, być może ze względu na podsłuchiwanie parametrów. SQL Server może plan wykonania buforowania, który nie jest optymalny dla parametrów przekazywanych z kodu.
Aby tego uniknąć, spróbuj dodać WITH RECOMPILE do swojej definicji SP, np.
CREATE PROCEDURE MySP (
... parameters...
) WITH RECOMPILE
AS
BEGIN
...