code: function () {
              var chart = this,
                axes = chart.axes,
                series = chart.series,
                container = chart.container,
                i,
                parentNode = container && container.parentNode;
  
              // fire the chart.destoy event
              fireEvent(chart, 'destroy');
  
              // Delete the chart from charts lookup array
              charts[chart.index] = UNDEFINED;
              chartCount--;
              chart.renderTo.removeAttribute('data-highcharts-chart');
  
              // remove events
              removeEvent(chart);
  
              // ==== Destroy collections:
              // Destroy axes
              i = axes.length;
              while (i--) {
                  axes[i] = axes[i].destroy();
              }
  
              // Destroy each series
              i = series.length;
              while (i--) {
                  series[i] = series[i].destroy();
              }
  
              // ==== Destroy chart properties:
              each(['title', 'subtitle', 'chartBackground', 'plotBackground', 'plotBGImage',
                  'plotBorder', 'seriesGroup', 'clipRect', 'credits', 'pointer', 'scroller',
                  'rangeSelector', 'legend', 'resetZoomButton', 'tooltip', 'renderer'], function (name) {
                  var prop = chart[name];
  
                  if (prop && prop.destroy) {
                      chart[name] = prop.destroy();
                  }
              });
  
              // remove container and all SVG
              if (container) { // can break in IE when destroyed before finished loading
                  container.innerHTML = '';
                  removeEvent(container);
                  if (parentNode) {
                      discardElement(container);
                  }
  
              }
  
              // clean it all up
              for (i in chart) {
                  delete chart[i];
              }
  
          }
docs: Clean up memory usage