[Engine] [Core] Added a static End method to correctly release memory

 - My dream was to use a weak pointer reference to allow memory to be clear automagically, but there were issues.
 - Added an End command, which frees the memory, which is now a standard shared pointer.