The "extra RAM" is used to store the current protein (or the current + the native, I don't remember for sure). When you're at the end of a generation, that extra memory gets released because it isn't needed while the client is sending results to the master server.
When the next generation starts, it should get reallocated.
As for the commit charge, I'm not sure what it is either. But I bet it's explained in Microsoft's knowledge base... Yep:
http://www.microsoft.com/windows2000...b_mon_oyjs.asp
Right at the bottom. Apparently the "commit charge (total)" is the total amount of virtual memory in use by all processes.