SwiftUI Sheet memory leak

Hi team, I've meet this issue when using swiftUI to present a sheet for some cases under visionPro project. Looks like the object inside sheet's view never get released which cause the memory leak. Somehow it looks like:

class ViewModel: ObservableObject {
    @Published var title: String = "Title"

    init() {
        print("init")
    }
    
    deinit {
        print("deinit")
    }
}

struct SheetView: View {
    @ObservedObject var viewModel: ViewModel
    
    var body: some View {
        Text(viewModel.title)
    }
}

struct Content: View {
    @State var isPresentedSheet = false
    @StateObject var viewModel = ViewModel()

    var body: some View {
        Button {
            isPresentedSheet.toggle()
        } label: {
            Text("Click to Present")
        }
        .sheet(isPresented: $isPresentedSheet) {
            SheetView(viewModel: viewModel)
        }
    }
}

I've tried with .popover, seems it's not happening. I've seen a similar one in https://developer.apple.com/forums/thread/737967?answerId=767599022#767599022, not sure apple plans to do some fix for vision in the future build releases.

You can influence the plans around fixing it by filing a radar 🙂

SwiftUI Sheet memory leak
 
 
Q