Relying on a default serializer.
Storing large objects in a single cache item
Using cache to share objects between threads
Assuming items will be in cache immediately after storing them.
Storing entire collection with nested objects
Storing parent-child objects together and also separately.
Caching Configuration settings
Caching Live Objects that have open handle to stream, file, registry, or network.
Storing same item using multiple keys
Not updating or deleting items in cache after updating or deleting them on persistent storage.