How to pass Swift object to C++ method

I've tried it that way

public class CxxSideInterface
{
    var cxx = interop_test.CxxToSwiftInterfaceBridge.Instance().pointee
    
    var callback: SwiftSideInterfaceBridge? = nil
    var ptr: OpaquePointer? = nil
    
    static func Instance() -> CxxSideInterface
    {
        let instance = CxxSideInterface()
        return instance
    }
    
    func Call() -> String
    {
        return String( cxx.Call() )
    }
    
    func RegisterCallback( cb: SwiftSideInterface )
    {
        callback = SwiftSideInterfaceBridge(bridge:  cb)
        ptr = OpaquePointer( Unmanaged.passUnretained(callback!).toOpaque() )
        cxx.RegisterCallback(ptr!)
    }
}

And I'm getting EXC_BAD_ACCESS when I try to use stored pointer on C++ side. Am I doing something wrong? Never worked with Swift OpaquePointers before.