If you call xTaskCreate in an infinite loop, eventually you are going to exhaust heap and task creation will fail. You can check the return value of xTaskCreate to know whether or not the task creation was successful. What are you trying to achieve?
First, your CREATED_TASK has a problem that it returns, which tasks are not supposed to do. If it is done, it needs to delete itself, which, at least in general, doesn’t happen on a task returning.
CREATOR_TASK, if it is also a task has the same problem.
There is nothing wrong with creating multiple tasks from that same function, even with the same name (that can be confusing to you, but the name isn’t used for anything but reporting by FreeRTOS). FreeRTOS keeps track of the different tasks because they have different handles. Now, you put the new task handle into the same variable as the old one, so YOU have lost access to the old task (unless you have copied that handle somewhere), but FreeRTOS still is keeping the values seperate.