У меня есть пользовательский список, который может содержать CustomContentType. Вот как я создаю новый предмет:
//Create root folder
SPListItem rootItem = navigation.Items.Add();
SPContentType folderType = navigation.ContentTypes["ListLevel"];
rootItem[SPBuiltInFieldId.Title] = "root";
rootItem["ContentTypeId"] = folderType.Id;
rootItem.Update();
Проблема в том, что когда я смотрю на свой список после этого, я вижу, что:

Когда я захожу в список через веб-браузер и создаю тип контента вручную, все в порядке. (Это означает, что заголовок является «корнем», а не идентификатором).