Sending 'geoRegion' risks causing data races

I have this simple piece of code that of course correctly ran in Swift 5:

func geoRegion()-> CLRegion?{
        guard let location=referenceLocation else{
            return nil
        }
        return CLCircularRegion(center:location.coordinate, radius:50000, identifier:"georeferencing")
}
    
func placemarksForAddress(_ address: String) async throws  -> [CLPlacemark]?{
        if let placemark=placemarkCache[address]{
            if placemark.location!.distance(from: referenceLocation!)<100000{
                return [placemark]
            }
        }
        
        do{
            guard let geoRegion=self.geoRegion() else {
                return nil
            }
            let placemarks = try await georeferenceQueue.geocodeAddressString( address, in: geoRegion)
            if placemarks.count>=0{
                self.placemarkCache[address]=MKPlacemark(placemark: placemarks[0])
                return placemarks
            }
        } catch {
            let placemarks=try await self.placemarkForLocation(referenceLocation)
            return placemarks
        }
        return nil
}

That now presents error:

Sending task-isolated 'geoRegion' to actor-isolated instance method 'geocodeAddressString(_:in:)' risks causing data races between actor-isolated and task-isolated uses

Sending 'geoRegion' risks causing data races
 
 
Q