I've managed to find a bug (I hope) where the texture size is significantly larger than expected. Its really easy to reproduce - eg. drop a 4096x4096 texture into the Unity project, and then make sure the max texture size is 4096, and set compression type to Uncompressed. Restarting Unity and simply clicking on this texture increases memory footprint by around 400MB. This isn't good at all, a 4096x4096 uncompressed texture with mip maps should take around 85MB of memory. 400MB is a LOT of memory to be throwing away.
Second issue, once that texture is clicked, the 400+MB is never regained. This could be a very big issue long term.
I've managed to isolate these so it happens when creating a texture from code as well - this is what 2D Toolkit does. Creating multiple 4096x4096 atlases will be leaking around 400MB per texture, and could cause serious issues. I've submitted a bug report to Unity about this. I'll update this thread if I hear anything.
I've got a couple of ideas to try out to reduce memory overhead working around the Unity limitations. I'll let you know if any of these work out.