Es una buena práctica cifrar estos detalles en la memoria, pero es necesario realizar algún tipo de proceso de modelado de amenazas y ver si esto justifica la sobrecarga.
Parece que su principal riesgo es que los usuarios lean la memoria utilizando las herramientas adecuadas; esto requiere intenciones maliciosas y un usuario bastante sofisticado. ¿Es este un escenario de amenaza probable? ¿A qué pueden acceder si comprometen las credenciales? ¿Son solo datos en la máquina local?
Los volcados de memoria son otro problema potencial, si se produce un error o si un usuario malintencionado comete un error y la memoria se descarga en los registros, los datos pueden recuperarse de estos registros.
Los archivos de intercambio y los archivos de hibernación también pueden contener estos datos a medida que la memoria se intercambia o si el dispositivo hiberna mientras las credenciales están en la memoria.
Existen múltiples herramientas disponibles para protegerse contra estos casos, como SecureString en el marco .Net, también hay API de protección de datos proporcionadas por los sistemas operativos MS. Cadena segura como un usuario ya respondió, son inmutables y encriptadas y también se almacenan en varias ubicaciones en la memoria. Yo usaría construcciones como esta provistas por los marcos y el sistema operativo y evitaría rodar su propio código para asegurar los datos en la RAM.