SwiftData Model deletion works unstable

Hi, I believe this question belongs here instead of Stack Overflow as SwiftUI + SwiftData is too new. I am using Model Context from a static Helper class:

Class Helper
{
    static let shared = Helper()
    var modelContext: ModelContext?
}

call to insert data on the 1st screen:

Helper.shared.modelContext?.insert(item)

Query Model declaration on the 1st screen:

@Query private var products: [ProductModel]

also autoSave turned to false:

.onAppear{
       Helper.shared.modelContext?.autosaveEnabled = false
}

periodically update data via a standard Timer object:

for item in products
            {
                item.price = 500
            }

SwiftData works just fine in this 1st screen, but when we try to delete the Model and move on to next screen, we found out memory of the previous screen Model (ProductModel) in this case is still persisted and keep increasing! Eventually causing hang in the 2nd screen. Model deletion code in onDisappear of the 1st screen:

.onDisappear{
     try? Helper.shared.modelContext?.delete(model: ProductModel.self)
     try? Helper.shared.modelContext?.save()
}

Any clue where we might be wrong? Thanks

SwiftData Model deletion works unstable
 
 
Q