=== UPDATE ===
(.Net 4.0 or higher) Reference your project to System.Runtime.Serialization.dll
Change your classes to:
RetrieveSanctionPartyList.cs
[DataContract]
public class RetrieveSanctionPartyList
{
    [DataMember]
    public string Spl { get; set; }
    [DataMember]
    public string Tech { get; set; }
    [DataMember]
    public string PartnerId { get; set; }
}
BaseResponse.cs
[DataContract]
public class BaseResponse
{
    [DataMember]
    public bool Success { get; set; }
    [DataMember]
    public List<string> Messages { get; set; }
    public BaseResponse()
    {
        Messages = new List<string>();
    }
    public static T fromJson<T>(string json)
    {
        System.Runtime.Serialization.Json.DataContractJsonSerializer js = new System.Runtime.Serialization.Json.DataContractJsonSerializer(typeof(T));
        MemoryStream ms = new MemoryStream(System.Text.UTF8Encoding.UTF8.GetBytes(json));
        T obj = (T)js.ReadObject(ms);
        return obj;
    }
    public string toJson()
    {
        System.Runtime.Serialization.Json.DataContractJsonSerializer js = new System.Runtime.Serialization.Json.DataContractJsonSerializer(this.GetType());
        MemoryStream ms = new MemoryStream();
        js.WriteObject(ms, this);
        ms.Position = 0;
        StreamReader sr = new StreamReader(ms);
        return sr.ReadToEnd();
    }
    public virtual void print()
    {
        Console.WriteLine("Class: " + this.GetType());
        Console.WriteLine("[Success] " + this.Success);
        foreach (string str in this.Messages)
            Console.WriteLine("[Messages] " + str);
    }
}
RetrieveSanctionPartyListResponse .cs
public class RetrieveSanctionPartyListResponse : BaseResponse
{
    [DataMember]
    public RetrieveSanctionPartyList RetrieveSanctionPartyList { get; set; }
    public override void print()
    {
        base.print();
        Console.WriteLine("[RetrieveSanctionPartyList.Spl] " + RetrieveSanctionPartyList.Spl);
        Console.WriteLine("[RetrieveSanctionPartyList.Tech] " + RetrieveSanctionPartyList.Tech);
        Console.WriteLine("[RetrieveSanctionPartyList.PartnerId] " + RetrieveSanctionPartyList.PartnerId);
    }
}
Test program:
static void Main()
    {
        BaseResponse obj = new BaseResponse();
        obj.Messages.Add("4");
        obj.Messages.Add("2");
        obj.Messages.Add("3");
        obj.print();
        string json = obj.toJson();
        Console.WriteLine("Json: " + json);
        BaseResponse clone = BaseResponse.fromJson<BaseResponse>(json);
        Console.WriteLine("Clone: ");
        clone.print();
        RetrieveSanctionPartyListResponse child1 = new RetrieveSanctionPartyListResponse();
        child1.Success = true;
        child1.Messages.Add("Only one");
        RetrieveSanctionPartyList list = new RetrieveSanctionPartyList();
        list.Spl = "MySPL";
        list.PartnerId = "MyPartnerId";
        list.Tech = "MyTech";
        child1.RetrieveSanctionPartyList = list;
        child1.print();
        json = child1.toJson();
        Console.WriteLine("Json: " + json);
        RetrieveSanctionPartyListResponse cloneChild1 = BaseResponse.fromJson<RetrieveSanctionPartyListResponse>(json);
        Console.WriteLine("cloneChild1: ");
        cloneChild1.print();
        Console.ReadLine();
    }
Ouput:
Class: WindowsForms.BaseResponse
[Success] False
[Messages] 4
[Messages] 2
[Messages] 3
Json: {"Messages":["4","2","3"],"Success":false}
Clone:
Class: WindowsForms.BaseResponse
[Success] False
[Messages] 4
[Messages] 2
[Messages] 3
Class: WindowsForms.RetrieveSanctionPartyListResponse
[Success] True
[Messages] Only one
[RetrieveSanctionPartyList.Spl] MySPL
[RetrieveSanctionPartyList.Tech] MyTech
[RetrieveSanctionPartyList.PartnerId] MyPartnerId
Json: {"Messages":["Only one"],"Success":true,"RetrieveSanctionPartyList":{"Part
nerId":"MyPartnerId","Spl":"MySPL","Tech":"MyTech"}}
cloneChild1:
Class: WindowsForms.RetrieveSanctionPartyListResponse
[Success] True
[Messages] Only one
[RetrieveSanctionPartyList.Spl] MySPL
[RetrieveSanctionPartyList.Tech] MyTech
[RetrieveSanctionPartyList.PartnerId] MyPartnerId