My best practice is that I need the GTD system (OmniFocus as the heart of the system) to be trusted. Meaning when I return to my system everything is in it and I am presented with the next thing to do, all the time. This needs a Routine.
I use the Inbox indeed for collecting all the stuff (including email that needs more than 4 minutes of work) but I have a Routine in the morning (Reveille) and at the end of the day (Closure) to clean out the Inbox. In this way, my system remains “trusted”. I have written a blog post about the concept here.
I even use as Ring widget to determine if I did all the routine tasks (green ring = trusted, in this case I need to do 10 actions more (weekly review) to achieve a trusted system):
But the great things about OmniFocus is that it can adapt to your needs.