Do too many subquries create multiple sleeping processes in MySQL?
One connection = one process (or thread).  Period.  Subqueries, UNIONs, and PARTITIONing do not create subprocesses.

What causes Sleeping processes:


Connections that are busy with non-SQL work.  (Usually 'Time' is 0 or small.)
Connections that don't go away.
Connection pooling at the client.


Sleeping processes are relatively harmless.  No need to kill them.  All connections (sleeping or not) are capped at max_connections, after which, trying to get a new connection gets an error.

On the other hand, sometimes the client(s) have parameters that lead to an unreasonable number of connections.  Apache has what used to be called MaxClients, which (in my opinion) should not be set higher than 20.