This is a long shot, as there is something at least nine hundred in it, but it can be somewhere to start. Add this script tag to your page as the last:
<script> function unloadJS() { var scripts = document.getElementsByTagName("SCRIPT"); for (var index = 0; index < scripts.length - 1; index++) { var file = scripts[index].getAttribute("src"); var start = +new Date(); scripts[index].parentNode.replaceChild(document.createElement('script'), scripts[index]); var elapsed = +new Date() - start; alert(file + ": " + elapsed.toString()); } return false; } </script>
This code attempts to force the download of each of the JavaScript files that have been loaded onto the page, reporting the amount of time it takes to delete them in milliseconds. Fire is how convenient, i.e. When unloading or using the button:
<button onclick="return unloadJS()">Go!</button>
This may not work / tell you what you need to know, because IE may refuse to collect garbage when the script is disabled. This may be due to IE not really unloading them when you do this, or simply because IE is - well, what oddi said :)
In any case, this is not a solution; it doesn't matter when JS is unloaded, garbage collection still takes the same amount of time. This is just an attempt at the first diagnosis, as you requested. Hope it works / helps ...
source share