The classic:
1. Doing the thing $5/h
2. Knowing what thing to do $500/h
1. Doing the thing $5/h
2. Knowing what thing to do $500/h
On the race condition, that was actually pretty easy to diagnose and solve, replaced the static property with a local getter/setter using the request context to store the value (asp.net 2.0).