My 3G (w/ the 4 GM) routinely freezes to the point where it just stops responding to input. I'll probably attempt to downgrade it to 3 soon. Which, I honestly don't mind. I mean, I would rather Apple not even support the 3G with iOS 4 rather than have to deal with this user experience. It's not like it can even deal with background tasks anyway...
Interesting, my 3G had the exact same problems as you (just froze and didn't respond to anything for like minutes at a time) with OS 3. But the problems have gotten a lot less frequent with OS 4 for me.
A full reset kind of sucks. We're not talking a restore here. Just start from scratch. With the exception of one or two apps though, my data was in the cloud so it was largely painless to get everything back in sync.