Mapbox - invalidateTileAt never called

My goal is to perform certain tasks when tiles change. I have a custom class which acts as my data source:

class MyDataSource: NSObject, MGLComputedShapeSourceDataSource {
    func featuresInTileAt(x: UInt, y: UInt, zoomLevel: UInt) -> [MGLShape & MGLFeature] {
    }
}

It works fine - when I move to a different place in the map, it is called and gives me the current x, y and zoomLevel values. I would also like to do the invalidation and found the method: invalidateTileAt(x: UInt, y: UInt, zoomLevel: UInt). If I understand its purpose correctly, I would expect it to be called before the next call of featuresInTileAt, so that I can use the current values before new values emerge. I implemented a custom class:

class MyComputedShapeSource: MGLComputedShapeSource {
    override func invalidateTileAt(x: UInt, y: UInt, zoomLevel: UInt) {
        //...
    }
}

and add the following style to the source:

let myDataSource = MyDataSource()
myDataSource?.delegate = self
let mySource = MyComputedShapeSource(identifier: "mySource", dataSource: myDataSource!, options: nil)
self.style.addSource(mySource!)

featuresInTileAt works fine, but invalidateTileAt is never being called. Is it a problem with my code or maybe I did not understand the purpose of the method correctly and it should be called manually ?