MongoDB .NET no genera _id en upsert

Estoy intentando subir un documento a MongoDB 2.4.4 utilizando el controlador .NET. Parece no generar automáticamente el_id en upserts, aunque sí genera correctamente el_id en inserciones lisas. ¿Cómo puedo hacer que el controlador genere correctamente el_id?

Aquí hay un pequeño ejemplo que demuestra el problema.

public class MongoObject
{
    [BsonId(IdGenerator = typeof(StringObjectIdGenerator))]
    [BsonRepresentation(BsonType.ObjectId)]
    public string MongoID { get; set; }

    public int Index { get; set; }
}

var obj = new MongoObject()
{
    Index = 1
};

//This inserts the document, but with a _id set to Null
_collection.Update(Query.EQ("Index", BsonValue.Create(1)), Update.Replace(obj), UpdateFlags.Upsert, new WriteConcern() { Journal = true });

//This inserts the document with the expected autogenerated _id
//_collection.Insert(obj);

Respuestas a la pregunta(1)

Su respuesta a la pregunta