Why does connecting to a database use tempspace?
During the connect process Oracle builds information on what access you have.  This remains static for the length of the connection.  (If you need to access newly granted privileges, you need to reconnect.)  Creating this data as temporary tables would seem the appropriate thing to do.  This would require temporary tablespace and could trigger the problems you were encountering.

The lack of locks, does not mean there isn't in-flight information floating around.  If the transaction inserting the data doesn't commit, then the database will need to track the block containing the row until the transaction is committed.  You can check for this by opening two connections and seeing if both can see the information from the login trigger before doing a commit.

There are views which will show what locks exist, and a wide variety of other information which is useful in managing the database.