Defaulting dependencies
I personally don't see any problem with this (maybe someone else might provide better insight) but in this situation I do tend to do it differently but instantiating it via constructor overloading and making the private field readonly.

e.g. 

public class RoleProvider : RoleProviderBase
{
    private readonly IRoleDataProvider _roleDataProvider;

    public RoleProvider()
       : this(new RoleDataProvider())
    {
    }

    public RoleProvider(IRoleDataProvider roleDataProvider)
    {
        _roleDataProvider = roleDataProvider;
    }
}


Perhaps this question might be better asked on PE as well?