Hello,
You are giving two conflicting requirements:
1) you are not allowed to delete old jobs
2) you must set keep clause -> this WILL delete old jobs
If you want to keep history without having to impact performance you will have to archive it.
Regards Gerben