Too many unknowns at this point ... what your proc is doing, how the ASE is configured, other activity on the ASE, etc, etc, etc.
Can you post a (small) proc that reproduces the issue?
Alternatively, create a small batch script like such ...
====================
set flushmessage on
go
exec <proc>
go
select * from master..monProcessActivity where SPID = @@spid
select * from master..monProcessWaits where SPID = @@spid
go
====================
... submit this batch to ASE via a new isql session, capture the output to an output file, and post the output file back here.