Yes.
When your application terminates (whether gracefully or not), all of its memory is returned back by the operating system, regardless of whether it has freeit or not. Similarly, the memory allocated on the GPU is controlled by its driver, which will free up all the resources of your application, cudaFreed or not.
, , , :)