Although I don’t track tasks in Obsidian, I use that general approach all the time! I use Reminders for this. I either send the related email to Reminders or create a task if an email is not involved and then add the #Waiting tag to the tasks. Works great and I can set an alert to pop up when it is due from the person to whom I’ve delegated the task.
When OmniFocus had contexts (v2) I started using @name to indicate the person or persons (multiple contexts) related to the task. I’ve continued this in v3 where tags replaced contexts, and continue using @name in tags. These person-tags lend themselves to useful OF perspectives, reviews, etc.
I do something similar to quorm. I used to do child tags of Waiting (e.g. Waiting : Tom) but I wasn’t really seeing a benefit over just using @Tom for both waiting and non-waiting items. Maybe I just don’t know people that far behind on their work.
Plus in OF 3 I can just add @waiting after @Tom to put it on hold.
OT, but while on the topic of special tags, I also use “%” in tags to indicate supersets of projects. For example %Phase III is not a project but indicates all the projects comprising Phase III of a deployment program. So, a task “Meet with PMO managers” could be tagged with @Johan @Sivi %Phase III