Use different contructors of disposable class
As the constructor of PrincipalContext which only takes a ContextType as parameter internally calls this constructor  

public PrincipalContext(ContextType contextType, string name, string container,  
      ContextOptions options, string userName, string password){}  


by passing null for the name I would change your method to  

public class LDAPManager : ILDAPManager
{
    public bool ValidCredentials(string username, string password, string domain)
    {
        if (string.IsNullOrWhiteSpace(domain)) {
            domain = null;
        }
        using (var context = new PrincipalContext(ContextType.Domain, domain))
        {
            return context.ValidateCredentials(username, password);
        }
    }
}  


based on the valid comment of Lightness Races in Orbit it can be that this implementation will change sometime. So be careful.  

After getting this comment, I also noticed some naming issue with this method. Based on the naming guidlines, you should use verbs or verb phrases to name your methods.
So the method would be better named ValidateCredentials().