There is a problem which can't be solved without code changes.
When you are getting user list in
\YetAnotherForum.NET\pages\members.ascx.cs
you get all the values instead of page size - page index, it's a major performance problem in other data layers when you have 10k users. I solved it somehow in MySQL with about 3-5 seconds sql exec time by cost of 3 in-sp extra functions calls, but in other data layers it gives pure performance too. I'm almost sure, that limiting number of returned records (and possible ViewState termination) will be good for all DLs as a result, despite some code complications.