Should I use a task killer to kill the restarting task or leave it alone and what causes this and is there anyway I can fix it?
You don't want to use a task killer, they do more harm than good. It's possible the restating apps are being used by other apps.
1. Android apps use activites to do the work. For example, if you use a file manager to send a picture via email, the file manager calls the send activity of the email app, passes the file name to it and the email app is what is actually sending the picture.. not the file manager. This will result in seeing the email app as "running" even though the user didn't actually launch that email app. If you see an app that is running and you didn't actually launch that app, it's more likely that an activity within that app is, or was, used by another app. Using activites helps developers design smaller apps. A file manager app that contains every bit of code needed to do everything a file manager does would likely be so large that no one would want to install it. Developers know that an android phone more than likely has at least one email app so there is no need for the developer to include email code in his/her file manager app to send a picture when he/she can simply call an activity in an existing email app to do the job. This makes for a smaller file manager app since there is no need to include email code, and any other task code that can be done via an activity that is already present on the phone. this also alleviates redundant code. A file manager doesn't install/sideload apps either, it calls the package installer (already present in Android) to install/sideload an app.
If you see an app running that you didn't launch, it may be because that app was called by another app to perform a task. If you kill the app you didn't launch, the system has to relaunch that app in order to complete its task. This is why some people kill a task and then see it immediately running again.
2. Android is not a Windows-based OS, it is based on Linux. Many of the apps you think are running aren't actually running, they're cached, this is typical with a Linux operating system. Cached apps don't use any CPU or battery, they're cached so they will load faster the next time you need them. And Android is hard coded to kill them if you haven't used them in a long time.
Task killers aren't needed in Android, the system takes care of things on its own. Using a task killer in Android creates a situation where you're constantly battling the OS and that requires more system resources to be expended.