Lieber Rolf,
Meine Vermutung wäre, dass eine Menge Speicher in Eventlistenern steckt, die unbemerkt Closures gebildet haben.
das ist meistens der Fall, wenn man nicht weiß, dass man EventListener nicht an DOM-Elemente bindet, sondern an das document-Objekt, um dann in den Listener-Funktionen das event.target
entsprechend zu prüfen. Der Grund ist ja, dass wenn man Elemente aus dem DOM entfernt wie z.B. einen Button, auf den ein EventListener gelegt worden war, dass der EventListener eben im Speicher verbleibt - ebenso wie der entfernte Button! Der Garbage-Collector kann dann nämlich nix wegwerfen, weil es Bezüge zu anderen Objekten gibt.
Liebe Grüße
Felix Riesterer