¿Por qué JSON.NET no funciona con herencia mientras se deserializa?

Estoy deserializando la cadena JSON al objeto raíz utilizando la siguiente clase que funciona bien.

[Serializable]
    public class MoviesListRootObject
    {
        public int count { get; set; }
        public Pagination pagination { get; set; }
        public List<Response> response { get; set; }
    }

...................................

var json = wc.DownloadString(jsonRequestURL);
var rootObj = JsonConvert.DeserializeObject<MoviesListRootObject>(json);

Pero si estoy generalizando el objeto raíz bt creando una clase padre y luego heredando de él, entonces obtengo nulo después de la deserialización.

[Serializable]
    public class RootObject
    {
        public int count { get; set; }
        public Pagination pagination { get; set; }
    }

[Serializable]
    public class MoviesListRootObject:RootObject
    {
        public List<MovieResponse> movieResponse { get; set; }

    }

..............................................

 var json = wc.DownloadString(jsonRequestURL);
 var rootObj = JsonConvert.DeserializeObject<MoviesListRootObject>(json);

Respuestas a la pregunta(2)

Su respuesta a la pregunta