It looks like if I load dynamic content using $.get(), the result is cached in browser.
$.get()
Adding some random string in QueryString seems to solve this iss
If you are using .net ASP MVC, disable the caching on the controller action by adding the following attribute on the end point function:
[OutputCacheAttribute(VaryByParam = "*", Duration = 0, NoStore = true)]