"freeing items" taking forever on inserts, updates and deletes
My knowledge of MySQL is somewhat limited so I may be entirely wrong here, but this is me thinking through your issue given my experience with MySQL w/innodb and other MVCC db's.

If you are seeing processes or threads waiting on eachother it has to be a locking issue.  That's the only explanation.  Given MySQL's structure, it has to be a thread locking issue.  There are no other options.

This leads to a few specific questions:


How is performance writing the log files?  Any issues there?
I there something else going on?  Any deadlocks being reported?
What does top show regarding CPU time?  Sleeping, idle, or wait?
What sort of write concurrency are we talking about?  How many concurrent writers?