For me, OmniFocus's "on hold" means that the item is purely information, and that it's OK for it to never pop up on my radar until I go looking for it. I usually use it for contexts, to label actions that aren't really actions, but are instead ideas or project support materials or information. If I use it for a project, that usually signifies that I thought that a project was going to become actionable and I put some thought and structure into it, but then I concluded that it wasn't ready and I was too lazy to disassemble it again. (I don't like my system to contain full-fledged projects that are delayed indefinitely.)
When I want to delay an actual project, I will generally make it sequential and give it a first action with a start date in the future. When I want to delay actions, I'll again give them a future start date. This means that they will eventually pop up without my having to go look for them.