I believe my initial impressions were wrong. When a WCF request handler thread receives a request and hands it off to a worker thread, I'd thought all resources were somehow being magically freed. This isn't the case as the worker thread becomes the one now doing the waiting! Which, as request volume gets large, doesn't sound much more scalable than traditional polling.
While frameworks like SignalR offer long polling, I don't think there's any way to construct it natively in WCF in a manner that doesn't tie up threads.
Some additional useful links I came across. Shockingly they appear to recommend traditional polling from a scalability point of view.
- http://www.codeproject.com/Articles/186723/Push-Messages-in-RESTful-WCF-Web-Application-with
- Scaling a chat app - short polling vs. long polling (AJAX, PHP)
Let me know if you guys have any other insight.