As I commented before Do not just kill cron. It won't help anything and will arguably make things worse.
Yes, there are lock processes, but these are not your problem. Cron makes use of locking to ensure that the same task is not run twice at the same time.
There is nothing wrong with what you describe. In fact we have designed it so that you can have multiple crons running simultaneously. This is so that if you have an intensive task running, it doesn't permanently block the processing of other things.
I'm sorry to say it but the tasks you mention are just particularly intensive in some situations.
In the case of the course backup task, and the course_delete_modules task, these tasks perform backups of course content.
The course backup task backs up an entire course whilst the course_delete_modules task performs a backup of individual course modules for use in the Recycle Bin.
The fact is that the backup process for a busy activity will take time. There is no shortcut. There is nothing wrong. If your course is large, or you have a lot of students, or a quiz with many questions + attempts, or a forum with many posts (particularly those with attachments), or an assignment with many attempts it will just take time. This is because the data must be extracted from the database, converted into an XML format, all related data must also be fetched, all files must be stored in a temporary location, and then the file is compressed and stored. If you have some kind of network file system then the file process can be very time consuming -- especially with lots of small files. If you have a busy quiz with many attempts this will take time because the question engine stores a lot of data and it must all be extracted, converted, and stored.
In the case of the notifications task, this can take a while if you have a lot of notifications to send out. It can take longer if you have Moodle configured to talk directly to your upstream SMTP server rather than using a local (or closer) mail transfer agent to queue the mail to that upstream SMTP, but generally it can be slow because you have a lot of notifications to send.
If you want to avoid these tasks entirely then disable the recycle bin and disable automatic backups.
You can also configure your site to run these tasks overnight at a time convenient to you (I would not advise doing this for tasks which send notifications, just for the backup tasks).
I cannot comment as to the computing resources of your server. There are many factors which affect these processing times including the number of users, type of workload and activity load of those users, DB server, how you have tuned your DB server, how you have tuned your web server, any server-side caching you have enabled, any MUC caching you have enabled, your file storage layer, etc.