I found that allowing the GPU task with 1 second elapsed time(more then likely suspended in memory) to run until progress is greater then 0 will remove GPU task from memory when suspended again.
Regards,
Kevin
Created this windows cmd file to count GPU tasks:
@echo off
echo %date% %time%
set findpgmexe=setiathome_6.08_windows_intelx86__cuda.exe
set findpgm=%findpgmexe:.exe=%
tasklist /fi "imagename eq %findpgmexe%"
if exist .\boinc-find-%findpgm%.txt del .\boinc-find-%findpgm%.txt
set tasklistboinc=tasklist /fi "imagename eq %findpgmexe%"
%tasklistboinc% > .\boinc-find-%findpgm%.txt
if exist .\boinc-count-%findpgm%.txt del .\boinc-count-%findpgm%.txt
find /c "%findpgmexe:~0,25%" .\boinc-find-%findpgm%.txt > .\boinc-count-%findpgm%.txt
FOR /f "tokens=1,2,3 delims=<space>" %%G IN ('%tasklistboinc% ^| find /c "%findpgmexe:~0,25%"') DO set boincgputaskcnt=%%G
echo.
echo GPU task count %boincgputaskcnt%
(set findpgmexe=)
(set findpgm=)
(set boincgputaskcnt=)
pause