If you cannot isolate a process that is actually taking CPU time now that should not (or did not before), then two things might be getting mixed up here:
uptime
and top
load averages are run queue average depth and not necessarily synonymous with CPU loading.
Yes, you need threads on the queue to have any chance to load the CPU, but just because there are 4 programs on the queue on average over a minute, doesn't mean that those threads together need to consume even 1% of the CPU time.
The real answer here will be to look at output like ps aux
to determine which processes are actually running as opposed to sleeping and combine that with iostat
to watch the actual CPU loading and see if you can determine if some new processes are running and whether that is increasing or decreasing the IO and CPU load on the system.