So after talking with Chrome developers, it turns out the problem isn't what I thought it was.
Chrome does leak, but not with the message posting, and their leak is tiny compared to what was going on with the viewer.
The actual issue is that every message object is being cloned implicitly, those are thousands of new objects per second!
Therefore, I changed the code so that instead of every instance sending/receiving update messages, the viewer itself sends one update message to a worker with the data of all instances, and receives one message in return with the data of all instances.
This removed most of the allocations. The code is messy and unoptimized, so it explicitly allocates objects, removing those allocations should make it even better.
This made the code run much better on all browsers. In fact, IE joined the >1FPS group!
Since the changes made it a little harder to work with multiple workers, it now uses a single worker.
Once I change it to use 2+ again, it should run much faster on all browsers.
/Edit
After discussing porting the M3 to Three.js with emnh (sorry, I don't know if you are from the hive, and if so who you are!), he suggested a really neat idea - caching whole sequences in textures.
This means that instead of re-calculating the skeleton every frame, it is pre-calculated on load, and from then on there are no more calculations required.
This trades CPU computations for GPU memory, I am not sure how scalable it is. For reference, the human knight walk animation takes a 512KB texture, but a very big chunk of that texture is empty (POT requirement). In practice, if all sequences will be in the same texture, less memory will be wasted.
This also opens other memory vs CPU considerations, and it's an interesting topic to investigate. For example, caching geoset visibility for every frame will reduce CPU computations by quite a bit, and it's actually not really terrible memory wise (probably a few kilobytes for all sequences).
I can see possible issues with models with really long animations, such as buildings.