The page took a long time to reach page_init because it had to reload the calling page due to postback before loading the new page. The reload was caused by LegendPostBackValue.
a.aspx, the page clicked on to get to b.aspx had a LegendPostBackValue
set. This would cause a reload of a.aspx taking an additional 52 seconds. Removing
Chart.Series[series].LegendPostBackValue = "SomeValue";
and removing setting a session value in Chart_Click
HttpContext.Current.Session["value"] = e.PostBackValue;
and instead using
Chart.Series[series].LegendUrl = url + "?value="SomeValue";
and on page b.apsx use
String somevariable = HttpContext.Current.Request.QueryString["value"];
instead of
String somevariable = HttpContext.Current.Session["value"].ToString();
fixed the problem. Page a.aspx does not have to reload because there is no postback value and instead follows the url to b.aspx.