Вам необходимо украсить базовый класс Credientials с помощью атрибута KnownType.
[DataContract]
[KnownType(typeof(MyCredentials))]
publice class Credentials
{
public Credentials()
{
}
}
Также я думаю, что вам нужно сделать класс общедоступным, а не внутренним, когда вы декорируете его с помощью DataContractAttribute.
[DataContract]
public class MyCredentials : Credentials {
public MyCredentials () {
}
}