Звучит так, как будто вы столкнулись с проблемой, когда SharePoint вмешивается, когда происходит попытка неавторизованного доступа, прерывает поток и отправляет пользователя на страницу отказа в доступе.
Что вам нужно сделать, это временно отключите это поведение.
spWeb.Site.CatchAccessDeniedException = false;
, чтобы ваша обработка исключений могла перехватить ошибку.