Нет необходимости загружать всю запись контакта, если у вас уже есть идентификатор, и вам просто нужно обновить поле или два. Вам также не нужен OrganizationServiceContext - только Сервис. Попробуйте что-то вроде:
var c = new contact() {
Id = targetEntity.Id,
new_CustomField = "Updated"
}
service.Update(c);
Это сохранит в первую очередь запрос контакта для контакта.