A: 

After considering carefully my code, I understand now what's going on. OrganizationFormModelView is the class that is being serialized, and here's its definition.

[Serializable]
public class OrganizationFormViewModel
{
    public Organization Organization { get; set; }
    [NonSerialized]
    public SelectList ParentOrgList = null;
    public OrganizationFormViewModel(Organization organization, SelectList cList)
    {
        Organization = organization ?? new Organization();
        ParentOrgList = pList;
    }
}

From that, I've concluded that, After each serialization process, ParentOrgList is set to null, so I need to find a way of re-assigning value to it. So, below is what I did:

public ActionResult CreateOrganization(string nextButton)
    {  
        //Omitted for brievety 
        if (formViewModel.ParentOrgList == null)
            formViewModel.ParentOrgList = repository.CommuneList;
        //Omitted for brievety 
    }

I also, modified the View so that, even if the value of the ParentOrgList is continuously re-assigned, but the DropDownList keeps the user's choice. So, I choose an Helper overload with default value.

...
<% = Html.DropDownList("Organization.ParentOrganization", Model.ParentOrgList, 
     Model.Organization.ParentOrganization)%>
... 

Now, everything is working perfectly.

However, If someone knows how to proceed differently with the Serialization business, it'd be helpful to share.

Thanks

Richard77