This behavior alone does not indicate a memory leak. This behavior is typical and is an intended behavior of the SQL Server buffer pool.
By default, SQL Server dynamically grows and shrinks the size of its buffer pool (cache), depending on the physical memory load that the operating system reports. As long as sufficient memory (between 4 MB and 10 MB) is available to prevent paging, the SQL Server buffer pool will continue to grow. As other processes on the same computer as SQL Server allocate memory, the SQL Server buffer manager will release memory as needed. SQL Server can free and obtain several megabytes of memory each second. This allows for SQL Server to quickly adjust to memory allocation changes.
For more information about allocations from this unreserved memory area, click the following article number to view the article in the Microsoft Knowledge Base:
REFERENCESRefer to SQL Server Books Online and topics such as "Effects of min and max server memory," "Memory Architecture," "Server Memory Options," and "SQL Server Memory Pool."
For more information about the min server memory configuration option and the max server memory configuration option in SQL Server 2005, see the "Effects of min and max server memory" topic in SQL Server 2005 Books Online.