C# WebException Как получить JSON, а не ошибку 401?
погуглите Vk Api .Net
там есть уже написанная либа для всего
скачайте и пожксперементируйте
401 - это и есть ошибка проваленной аутентификации.
А появление на горизонте WebException является ожидаемым поведением от кода. 
Перехватывайте WebException и говорите вызывающей логике, чтобы повторили процедуру аутентификацией с правильной парой логин?пароль.
По результирующим http кодам посмотрите тут, узнаете много нового