The optimization you did for release 1.2.0 basically made the WebProfile.Current property a singleton pattern. Whomever's profile is accessed first through the WebProfile.Current property, is subsequently used in all user sessions. Lose the static WebProfile _current; caching and you'll fix the problem. It's un-usable as-is.
To see this problem, I have a website using forms authentication and profiling enabled. In one of my pages I store the user's preference for number of rows displayed on a grid. The default is 20. I login using IE as User1 and change my profile default from 20 to 10 and the grid responds by displaying only 10 rows. I now login using FireFox (so I can login as a different user simultaneously) as User2. I navigate to the page with the grid. I am expecting to see the default value of 20 rows displayed but I get only 10. As User2 I change the default to 100. Then switch to the IE browser where I'm logged in as User1. I refresh the page and the grid now displays 100 rows. Both (different) user sessions are accessing the same user profile through the WebProfile.Current property.
No files are attached