The alarm status table had about 1000 unacknowledged alarms. The issue cleared up after acknowledging them. It took some time as I kept losing the connection, but it improved as more and more alarms were acknowledged.
Another note on this, it also happened on views that didn't include the alarm status table, just some alarm counts in a view header (query driven).