NetworkCredential, возвращаемый из CredentialCache.DefaultCredential, является просто заполнителем. Если вы посмотрите на него с помощью отладчика, вы увидите, что он имеет тип SystemNetworkCredential. Внутренняя проверка API для этого типа, чтобы увидеть, должна ли использоваться встроенная аутентификация или нет. Есть и другие способы получения текущего имени пользователя (например, WindowsIdentity.GetCurrent ()).
EDIT:
Чтобы указать олицетворение для операции WCF, добавьте этот атрибут в метод, реализующий контракт:
[OperationBehavior(Impersonation = ImpersonationOption.Required)]
public void SomeMethod()
{
// do something here
}