Well, the way that it waits for the release is a little ooky, it doesn't really wait for a release code at all, it just waits X amount of time to see if the button is still held down (getting repeat signals from that button) and if not, then it assumes the button must have been released.

Hence our perception that there's a significant delay, because there really is a significant delay. Doesn't matter when you release the button, the delay is the same length of time.

I already put in a bug report (a long time ago) that it shouldn't do the "wait for hold" delay unless it was a function that really did interpret the hold. For example, scrolling left and right in the main menu shouldn't need the delay, but pressing the left and right buttons with no menu showing needs the delay.
_________________________
Tony Fabris