You leak myMock in the first example and you don't in the second. It is the destructor of the Mock object that reports the results. In the first, that destructor is never invoked.
When an invocation of new is not followed at some point by feeding the result of said invocation to the corresponding version of delete, you have leaked memory and whatever resources are managed by the object that resides in that memory.
If you feel the need to use new, you should look into smart pointers.