why SELECT is still using CPU & DiskIO?
If there's a where clause in the DELETE statement, then the server still needs to perform a SELECT internally to the DELETE statement in order to delete only the specified records.

You may be only issuing one DELETE statement, but that's a convenience of SQL. The Database software has to process that statement and perform the necessary logic to do the job under the hood.  This is one of those things it does that you don't normally think about until you happen to notice it, as you did now.