I've recently had a similar problem. We had a query running for 3 days(!!!) in our UAT environment that was only noticed because we tried to run in a package and a deadlock occured.
I killed the session through top session monitor (running 7.3.4) and the process was marked for killing. However the process kept churning away. We weren't sure whether it was rolling back or waiting for PMON to kill it and release the resources. In the end we tries a shutdown immediate but that was taking to long so we went for a shutdown abort and re-start.

I've had many problems with killing a process through the GUI tools - PMON seems to take an age to wake up and kill the process. I have found it better to kill the session through the O/S (we are running AIX) which immediately releases the resources.

Hope this helps