Looking back at the source, a cache element is always created when creating a site map, saving the element to HttpContext.Current.Cache. The lifetime of this cache element is configured from a property in the configuration cacheDuration. If this attribute is not specified in the configuration, it defaults to 5. Try setting this configuration attribute to 0.
<siteMap defaultProvider="MvcSiteMapProvider" enabled="true">
<providers>
<clear />
<add name="MvcSiteMapProvider"
type="MvcSiteMapProvider.DefaultSiteMapProvider, MvcSiteMapProvider"
cacheDuration="5" />
</providers>
</siteMap>
source
share