Host Memory Leak using cudaMalloc()

I’m trying to send some objects to my device and i have to do so using a “for-loop” and its creating close to about 200 MB of allocated host memory. I see this happening in my task manager. I do not have any control over it or address to free it as well. What is happening here

//allocate memory for matrices on device
		CudaSafeCall(cudaMalloc((void**)&d_mMat,M));
		CudaSafeCall(cudaMalloc((void**)&d_mVec,M));
		CudaSafeCall(cudaMalloc((void**)&d_f6Mat,F6));
		CudaSafeCall(cudaMalloc((void**)&d_f6Vec,F6));
		

		//Sending Matrix objects
		CudaSafeCall(cudaMemcpy(d_mMat,src->cudaMissile.MAT,M,kind));
		CudaSafeCall(cudaMemcpy(d_mVec,src->cudaMissile.VEC,M,kind));
		CudaSafeCall(cudaMemcpy(d_f6Mat,src->cudaFlat6.MAT,F6,kind));
		CudaSafeCall(cudaMemcpy(d_f6Vec,src->cudaFlat6.VEC,F6,kind));

		for(int i = 0;i<num_missile*NMISSILE;i++)
		{
			CudaSafeCall(cudaMalloc((void**)&pbody_mm,9*sizeof(cudap)));
			CudaSafeCall(cudaMalloc((void**)&pbody_mv,3*sizeof(cudap)));

			CudaSafeCall(cudaMemcpy(pbody_mm,src->cudaMissile.MAT[i].pbody,9*sizeof(cudap),kind));
			CudaSafeCall(cudaMemcpy(pbody_mv,src->cudaMissile.VEC[i].pbody,3*sizeof(cudap),kind));

			CudaSafeCall(cudaMemcpy(&(d_mMat[i].pbody),&(pbody_mm),sizeof(cudap*),kind));
			CudaSafeCall(cudaMemcpy(&(d_mVec[i].pbody),&(pbody_mv),sizeof(cudap*),kind));
		}