db.collection<model>.Find(Filter)

I have 2 suspicions about the problem: Your class definition has a problem, or somehow you are using a different namespace for one of your variables. Can you please check them first?

I have run a simple test right now and it just works (uses new C# top-level coding style):

Example Code
using MongoDB.Bson;
using MongoDB.Bson.Serialization.Attributes;
using MongoDB.Driver;

var URI = $"mongodb+srv://YOUR_CONNECTION_URI/?retryWrites=true&w=majority";

// Create a document using BSON
{
    MongoClient dbClient = new MongoClient(URI);
    var database = dbClient.GetDatabase("testme");
    var collection = database.GetCollection<BsonDocument>("class");
    var document = new BsonDocument { { "id", 1 }, { "class", "1A" } };
    await collection.InsertOneAsync(document);
}

// Find & Read documents with Filter and Model class
{
    MongoClient dbClient = new MongoClient(URI);
    var database = dbClient.GetDatabase("testme");
    var collection = database.GetCollection<Model>("class");

    var builder = Builders<Model>.Filter;
    var filter = builder.Eq(model => model.Class, "1A");
    var documents = collection.Find(filter);
    foreach (var doc in documents.ToList())
    {
        Console.WriteLine($"id: {doc.SId} class: {doc.Class}");
    }
}

class Model
{
    [BsonId]
    [BsonRepresentation(BsonType.ObjectId)]
    public string? Id { get; set; }
    [BsonElement("id")]
    public int SId { get; set; }
    [BsonElement("class")]
    public string Class { get; set; } = null!;
}