Yes it can exceed. Max memory setting is just for the buffer pool. Worker threads (2 megabtyes for each), extended stored procs, linked servers, etc. are outside of that limit.
See which database is consuming the memory using this query:
DB_NAME(database_id) AS DB,
COUNT(row_count)*8.0/1024.0 AS MB
If it is tempdb, it is possible that you have long running open transactions, or if RCSI is enabled it may be row versions.
I saw Aaron Bertrand's page only after I wrote the above query, but you may find the information in his blog useful for diagnosing the problem - which includes something similar to my query (but probably better) and other useful information as well: http://www.mssqltips.com/sqlservertip/2393/determine-sql-server-memory-use-by-database-and-object/
-- Yes, I am indeed a fictional character.