I cannot comment on memory usage but a though is, have you tried to see what the processes running on sql are, on the activity monitor?
I used to work on an insurance company and we got lot of hang when someone as fetching a lot of data.I mean literally everything on every user was hanging.When we killed the process the sql was back.