On the conceptual level, SecureString looks like a specialization of ProtectedMemory.
Granted, its primary function is to shorten the lifetime of (immutable) strings inside RAM, swap, and crash dumps. However, it also uses DPAPI to protect the data except on the entry and exit points. DPAPI uses cryptography to do its job. So why SecureString was placed in System.Security rather than in System.Security.Cryptography?
In my view of it, if cryptography wasn't used in the implementation, then SecureString would provide only minimum benefit of convenience above the pre-existing StringBuilder.
There's also the contrast between "Secure" vs. "Protected" in SecureString and ProtectedMemory class names, I'm not sure how that might be motivated either.