Like I've stated in earlier posts, upgrading to IOS5 brought with it a number of issues. After a fresh reload my 3GS performs as it did even with IOS5. I'll lay out the steps again.
1. Backup ALL, everything, to the local computer or iCloud and I do mean everything. The procedure I am explaining will wipe your phone, deleting everything that was. If is is not backed up it will be lost.
2. Restore your iPhone, select as a new iPhone.
3. The IOS5 update will be installed from the image that iTunes has locally (will not need to download again)
4. Once reloaded, run through the brief iPhone setup
5. Update all of your APPS in iTunes. This will make sure that your APPS are IOS5 compatible
6. Once completed you can re-sync your contacts, apps, music, videos, photos, etc.
After doing this I have not had any issues with my 3GS running IOS5.
Good luck
-LB