Вы можете форсировать сборку мусора, набрав:
GC.Collect()
Конечно, вы обычно не должны этого делать. Очистка определенной части памяти может не произойти. Кроме того, если вы пытаетесь форсировать сбор, вам нужно проверить результаты каждого прохода сбора, чтобы выяснить, следует ли вам вызывать его снова.
Но не надо. Если кто-то достаточно яркий, чтобы проверить память, он, вероятно, достаточно яркий, чтобы найти учетные данные во время короткого окна, в котором они находятся.
Предоставляется ли пароль для имени пользователя? Если это так - то, вероятно, так же легко получить учетные данные там.
ОБНОВЛЕНИЕ: Еще одна мысль пришла мне в голову ... Вы можете реализовать вызов службы на языке, где у вас есть немного более явный контроль над памятью (например, C ++). Затем вы можете сделать вызов и явно записать часть памяти, в которой были учетные данные. Часть вызова веб-службы довольно легко сделать в сокетах, однако часть SSL нетривиальна.