Hola,
No conozco el store procedure que estas utilizando, pero creo que la mejor forma es filtrar directamente el store procedure, es decir si tu límite va a ser de 300 registros, que el store procedure devuelva 301 registros si hay mas de 300 registros como resultado
de tu consulta.
Esta es la forma más rápida, quizás no la mejor, que se me ocurre.
Otra forma quizás un poco mas "profesional", es poner el resultado del SP en una variable de tipo datatable u otra similar, y entonces realizar los filtros necesarios directamente en esa varibla.
Espero te sea de ayuda.