It's not a meaningful question. Most of the memory is common and not used by a specific process. One spid may run
SELECT * FROM BigTable
and drag a 20 GB table into the buffer cache. But then the data will be in the cache for everyone to use, as long as there is no memory pressure. That is, something else is needed in the cache.
To confuse matters a little bit, a process might be running a query with a a plan with a high memory grant. And that memory is certainly private to the process. It is released when the query completes, but if there are many queries that requests high memory grants, they may be queued up.
But it is far from clear that this is your actual problem. All you are saying is that SQL Server is using high memory. Which is pretty normal. SQL Server is designed to grab as much memory it can and as much as the OS permits. That buffer cache helps things go faster.
sysprocesses is an old view, and these days we prefer to work with sys.dm_exec_sessions and sys.dm_exec_requests.