http://bugs.winehq.org/show_bug.cgi?id=23516
--- Comment #22 from PLL pslla.dev@gmail.com 2010-12-22 00:39:03 CST --- Apparently setting the ulimit to a high value really fixes the issue.
I kept checking the open files and they never go down. I played 3 campains and finally hit the limit.
I guess I can live with restarting l4d2 each time I finish a campain.
It must be some bug where the files aren't being closed.