What you are describing is completely normal behavior for a .NET program, there is no indication that something is wrong with your code.
The biggest problem is that TaskMgr.exe is not a very good program to tell you what is going on in your process. It displays the "working set" for the process, a number that has very little to do with the amount of memory that the process uses.
A working set is the amount of RAM your process is using. Each process receives 2 gigabytes of virtual memory for use with code and data. Even on your virtual XP field with 512 MB of RAM. However, all of these processes require only a certain amount of RAM. On a small machine, which may be just a gigabyte.
Obviously, when you start several processes, each with a gigabyte of virtual memory with a gigabyte of real memory acquires some magic. What is provided by the operating system, Windows virtualizes RAM. In other words, it creates an illusion for every process that it launches independently on a machine with 2 gigabytes of RAM. This is done using the swap function, when the process must read or write memory, the operating system captures a piece of RAM to provide physical memory.
Inevitably, it must take some RAM from another process so that it can be accessed by you. Everything that was previously in this fragment of RAM must be preserved. What the swap file does, it saves the contents of RAM that has been unloaded.
Obviously, this does not work for free, the disks are rather slow, and the search engine is an expensive operation. This is why weak machines do not work well when you ask them to run several large programs. The real measure for this is also visible in TaskMgr.exe, but you must add it. Open + Select columns and check "Page fault defect". Observe this number during the process. When you see a splash, you can expect your program to slow down dramatically, and the displayed memory usage will change quickly.
Addressing your observations:
creating objects ... TaskManager shows, as expected, memory usage "jumps"
Yes, you are using RAM, so the working set is increasing.
These mem-usage transitions also continue to be executed AFTER user interaction is complete.
There is no slam dunk, but other processes get more time to execute, using RAM in turn and knocking out some of yours. Check the delta page error column.
I used the Ants mem profiler, but to some extent it prevents such "jumps" after interacting with the user.
Yes, memory profilers focus on using the real memory of your program, in the form of virtual memory. They largely ignore the working set, there is nothing you can do about it, and the number is pointless because it really depends on what other processes are working.
there is a case where memory usage is growing and growing to collapse
This may be a side effect of the garbage collector, but it is not typical. You probably just see Windows clipping your working set, popping out pages so you don't consume too much.
In Windows XP Mode (virtual machine in Win 7) with 512 MB of RAM Assigned works fine
Most likely, because you did not install any large programs on this WM that would compete for RAM. XP was also designed to work well on machines with very little memory, it is smooth on a machine with 256 MB. This definitely does not apply to Vista / Win7, they were designed to use modern hardware. Aero's specialty is sweet candy, but very expensive.
The problem is worse when the system has other heavy programs that run
Yes, you compete with other processes that require a large amount of RAM.
Even the first character of a chart cannot be created when memory usage takes off like a rocket
Yes, you see how pages are displayed in RAM, reloaded from the page file and ngen-ed.ni.dll files. Quick increase in working set. You will also see that the number of page error delta numbers reaches a maximum.
So, your WPF program just consumes a lot of memory and needs horse power to work well. This is not easy to fix; rather drastic redesign is required to reduce resource requirements. Therefore, just put the system requirements on the box, this is absolutely normal.