Well, my main issue is that when I let all the notes go, and my envelope has a high release, it just stops. The hold inlet probably wouldn't help, as that would also keep triggering the gate outlet that my envelope uses. It does sound hard to implement though, because you'd need to know if a note was intentionally let go of, since the notes of a chord won't all be released at the same instant if you're playing live.
Ideal behavior:
Hold down some notes > They arpeggiate. Gate is high.
Let go of one note > That note is dropped from the arpeggiation. Gate is high.
Let go of all notes (with imperceptible time differences) > They continue to arpeggiate. Gate is low.
Hold some notes again > Just the new notes arpeggiate. Gate is high.
I might be asking for too much here, but any help is appreciated.