Alex -
Your schematic shows many unconnected IO pins. Do you initialize these pins in your software? The default/reset state is that they are inputs without pullups. If they are left this way, the inputs will float to a level that causes the input buffers to draw current. With the number of unconnected IO pins in your schematic, this could easily add up to the 4-6mA that you are seeing.
The easiest way to fix this is to initialize all these pins either as inputs with the internal pullups enabled or as outputs.
- Rocky