Surrogate key purge doesn't seem to work?

We upload many of our assets with multiple space separated surrogate keys. e.g (Surrogate-Key: A B C D) When the related records in our DB changes we issue purges using those surrogate keys to invalidate all the derived resources from those records. (e.g. we do a /purge API call with Surrogate-Key: A)

This works…sometimes, but often it seems like it just doesn’t work at all. Requests to purge the cache for the surrogate key return succesfully, but we continue to receive the old responses until the cache times out.

We’ve tried issuing the purge multiple times with varying levels of delay as suggsted in the Fastly docs but it doesn’t seem to have any impact.

Is anyone out there sucesffully using surrogate key purges?

I’ve contacted Fastly support but they’ve not been very helpful so far.