Short answer: No.
There isn't such a thing as a "SP object". Also, calling it from C# doesn't impact the answer.
You can think of a Stored Procedure as more like a simple procedure before the days of object orientation. There isn't an object within SQL Server that holds state or anything else. You provide input, it gives you a result and the code for the SP ends. At this point SQL server considers the request to have been fulfilled and, functionally, forgets that the request was even made.
Now, C# will wrap the results of the SP call into a SqlReader
object - this is client side. The reason is to provide a bit more flexibility to your code, such as being able to iterate the rows of a datatable
, or get the properties of particular column.
However all of that occurs within C# and is wholly dependent on the framework you use for calling the SP in the first place. For example, LINQ and various ORM's can automatically convert each row as an object.