Here're two untested (!) patches.
This one ensures that no more than one message is passed in $1 milliseconds:
The second one reschedules a list that came in the middle of the $1 ms “rest” period.
Edit: I think they should work for any data type, not just for bangs.
I've been thinking about implementing a small library with custom data types. Let's say it's a matrix type that's allocated on the heap. I want to pass it around using messages, so, IIUC, I need to use A_POINTER type. Is there a way to know that this atom that I created is no longer needed/referenced anywhere? I lurked the Pd sources for a while but wasn't able to find anything relevant.
Is it possible to implement a reference counting system for a custom data type in Pd? Do you know if anyone has already done this before? How can this be implemented?