Task manager displays 'working set', which is not the same as 'total memory usage': it can be higher or lower depending on what's going on in your application. Working set is the amount of active physical RAM being used by the application and can include things like file buffers, shared libraries and other things that you might not consider to be a part of your applications 'true' memory usage. It can also go down when your application is paging (which means that as memory usage goes up, the task manager reading can actively go down!)
ANTS uses about 20Mb of memory for the purposes of tracking how objects move between snapshots, plus an unbounded amount of memory that is proportional to the number of objects that are disposed but still in memory. Most of ANTS memory usage is actually in shared memory, so shouldn't show up in private bytes. This probably explains the difference that you're seeing. A certain amount of ANTS own memory usage winds up in the 'unmanaged memory' section of the results as well, though the shared memory does not.
'Total memory usage' is a somewhat nebulous concept in Windows: private bytes are the closest approximation to what most people would consider to be the memory usage of an application (that's the amount of memory allocated exclusively by that application). However, 'out of memory' conditions aren't actually triggered by the amount of used memory, but the amount of used address space, and Windows doesn't really have a good measurement of this - virtual bytes is the closest measurement, but note that it will appear really high, especially on 64-bit systems as .NET will reserve large regions of memory for itself without actually allocating anything.
Red Gate Software Ltd.