It doesn't need to clear, it is a cache. It contains useful information that will be used on subsequent executions of SQL Analysis Services. If another application needs that memory before you run SQL Analsys Services again, then the amount of memory needed will be released for that application. It is functioning as intended.
Let's look at it this way: a CPU has many places where it can store data. The fastest location is in the CPU's registers. Unfortunately, there are very few registers. So there is also a Level 1 CPU cache. This is an extremely fast bit of memory that is built into the CPU to store data and instructions. Because it is part of the CPU and is very fast, it is also fairly small (to keep costs down). After Level 1 cache there are also often (on modern CPUs) a Level 2 and Level 3 (or L2 and L3) cache. These higher level cache areas are progressively larger than the lower level cache areas, but they are slower to access. But they are still extremely fast compared to system memory.
The next level of storage down from there is system memory. This can be a MASSIVE data store, but is much slower than any level of CPU cache. However, it is much much faster than hard disk storage. Hard disks are, of course, many many times larger than the system memory of a computer, but is also many many times slower.
So basically you have a data storage hierarchy that looks like this:
Hard Disk
RAM
L3 cache
L2 cache
L1 cache
CPU Register
All layers store data. As you move down the stack you get to progressively faster but smaller storage areas. A well optimized system will make use of the faster storage first, so the most frequently used data and instructions will reside lower in the stack. If you consider that the largest data set available is on the hard disk, a well-optimized computer will keep as much of that data set in RAM, cache, or register as possible. The most recently and frequently used data will always be retained in the faster storage areas.
When an application (say, SQL Analysis Services) runs, the needed data is loaded from disk to RAM, and some bits do get loaded lower in the memory stack if they are more frequently used. When the application has completed running and has terminated, data that was used by the application will remain CACHED in RAM in the event that it is needed later. In the event that another application needs memory and there isn't memory available, parts of the old data that is cached in memory will be flushed and replaced with new data that is needed.
THIS IS NORMAL AND AS DESIGNED.
The problem that I suspect that you are running into is a problem of perception, not a technical issue. For many years it has become common practice to be concerned when memory utilization was high. For some reason people thought that if they didn't see lots of free memory then their computer didn't have enough RAM. But the reality is, if your computer has lots of free memory then you have way too much memory installed. It is far more efficient to have a server with 4GB of RAM running at 95% memory utilization than it is to have a server with 8GB of RAM running at less than 50% memory utilization, right?
So with the newer version of Windows Microsoft has re-written the way that memory management works. With Vista they implemented Superfetch, which basically tries to predict what bits of data you will need and pre-emptively load it into main memory from disk. When Superfetch predicts correctly it will dramatically improve performance. Server 2008 does not use Superfetch, but it does do something similar. Being a server OS and therefore more sensitive to workload, it does not try to predict what data will be needed and load it in advance. Instead it keeps previously used data cached in memory in the event that it is needed again, and flushes the cache if more memory space is needed.
As I asked before, is there a specific problem that having data cached in memory is causing, or are you just concerned by seeing the numbers?
________________________________________
CompTIA A+, Network+, Server+, Security+
MCTS:Hyper-V
MCTS:System Center Virtual Machine Manager
MCSE:Security 2003
MCITP:Enterprise Administrator