I have this method:
private static Dossier PrepareDossier(List> rawDossier) { return new Dossier((int)rawDossier[0][0]); }
I would guess this is because the object in your list is not an int.
Convert.ToInt32 will convert other non-int types so works.
Check what is being passed in to the method.