HttpResponse.RemoveOutputCacheItem não está funcionando

Tenho um ActionResult armazenado em cach

[OutputCache(Duration = 3600, VaryByParam = "product_Id")]
public ActionResult ProductPreview(Guid product_Id)
{
     // just for testing the cache
     System.Threading.Thread.Sleep(4000);
     return PartialView("ProductPreview", _repository.CreateProductModel(product_Id));
}

A parte boa é que o cache está funcionando. Após a primeira carga, o resultado é mostrado sem atraso de 4 segundo

o entanto, preciso limpar o cache quando algumas alterações forem feitas nesse produt

Eu tentei limpar o cache fazendo o seguinte:

public ActionResult RemoveCache()
{
    var url = Url.Action("ProductPreview", "Common");
    // also tried with parameter
    // var url = Url.Action("ProductPreview", "Common", new { @product_Id = "productId" });
    HttpResponse.RemoveOutputCacheItem(url);

    return RedirectToAction("Index");
}

Também tentei chamar o método RemoveCache com ajax e atualização de página inteira, e nenhum deles está funcionand

O que eu posso fazer? Onde está o problema