Denoiser memory leak

I seem to have a memory leak in the denoiser, I use the simple sample supplied below which shows available device memory reducing on each iteration.

If I comment out the rtCommandListExecute step memory remains static at 9767301939

On the 3 loops I get 9767301939, 9017307955, 9015210803

System : Windows 10, Gefore 1080 Ti Optix 5.1.0

#include <stdio.h>
#include "optix.h"

int main( int argc, char* argv[] )
{
	RTresult	result;

	for ( int i = 0; i < 3; ++i ) {
		RTcontext		context;
		rtContextCreate( &context );

		RTsize	freeMem;
		result = rtContextGetAttribute( context, static_cast<RTcontextattribute>( RT_CONTEXT_ATTRIBUTE_AVAILABLE_DEVICE_MEMORY ), sizeof( freeMem ), &freeMem );

		// Create denoiser
		RTpostprocessingstage	stage;
		result = rtPostProcessingStageCreateBuiltin( context, "DLDenoiser", &stage );

		// Create in and out buffers
		RTbuffer	inBuffer, outBuffer;
		
		result = rtBufferCreate( context, RT_BUFFER_INPUT_OUTPUT, &inBuffer );
		result = rtBufferSetFormat( inBuffer, RT_FORMAT_FLOAT4 );
		result = rtBufferSetSize2D( inBuffer, 1024, 1024 );

		result = rtBufferCreate( context, RT_BUFFER_INPUT_OUTPUT, &outBuffer );
		result = rtBufferSetFormat( outBuffer, RT_FORMAT_FLOAT4 );
		result = rtBufferSetSize2D( outBuffer, 1024, 1024 );

		// Fill in buffer with white
		float	*bufferPtr;
		result = rtBufferMap( inBuffer, (void**)&bufferPtr );

		for ( unsigned int i = 0; i < ( 1024 * 1204 ); ++i )
			bufferPtr[i] = 1.f;

		result = rtBufferUnmap( inBuffer );

		// Set buffers into denoiser
		RTvariable inVar;
		result = rtPostProcessingStageDeclareVariable( stage, "input_buffer", &inVar );
		result = rtVariableSetObject( inVar, inBuffer );

		RTvariable outVar;
		result = rtPostProcessingStageDeclareVariable( stage, "output_buffer", &outVar );
		result = rtVariableSetObject( outVar, outBuffer );

		// Create command queue
		RTcommandlist			commandList;
		result = rtCommandListCreate( context, &commandList );

		// Add postprocessing stage
		result = rtCommandListAppendPostprocessingStage( commandList, stage, 1024, 1024 );

		// Finalize
		result = rtCommandListFinalize( commandList );

		// Do the denoise
		result = rtCommandListExecute( commandList );

		printf( "Available device memory %I64u\n", freeMem );

		result = rtBufferDestroy( outBuffer );
		result = rtBufferDestroy( inBuffer );

		result = rtCommandListDestroy( commandList );

		result = rtPostProcessingStageDestroy( stage );

		result = rtContextDestroy( context );
	}

	return 0;
}

Thanks for the report.
This had already been filed internally and is currently being investigated in development.