Just a question, if you try embedding the viz into a fresh page does the issue still occur? My thinking is that if you had a pre-existing page with its own heavy footprint, there may be some existing code that is causing the issue.
Thx for responding, Ive been meaning to get back to this and add some of what I learned. We are using AngularJS 1 as our front end framework and viewing dashboards in a 'single page app' format. We moved into this in dev over the last month or so, and have been going through a real change in the way we think about web dev because of this format. Previously, a user would do a page load every time they went to a new dashboard, and as such, the 'viz' variable (referenced in the original post) used to load a dashboard would be initialized/reinitialized on each page load. Because of this, we never thought about having to evaluate whether or not 'viz' had a value already. So, to keep this from getting much longer, prior to loading up viz we just wrote code to evaluate whether or not it had anything in it, and if it did call 'viz.dispose()';
Anyone referencing this can look up the 'dispose' function and its syntax in the api documentation.