To your first question on the screenshots.
There is an overallocation first for team 1 based on following three assignments
If you call Resource Leveling by Default, Merlin Project will use following rules and push first those assignments with less impact to the project's end.
Top first, later later.
Now to the priority based levelling
Which again solves overallocations on all assignments for all periods.
It will first try to solve the overallocation on the first week of work according to the rules.
There are overallocations only for team 1.
Resource levelling will push assignments with less priority first.
Now this also moves successor activities: one of those (#12) is assigned to the same team, other successors are assigned to Team 2.
Now moving forward to the week, on the next week, there used to be overallocation for team 2.
The moment the second assignment of team 1 was moved one week forward (through leveling) there were just 2 assignments. Still over-utilisation.
The moment the third assignment of team 1 was moved two weeks forwards, there ware no over-utilisations on that week anymore, BUT some overutilizations on the next.
So if we now apply the rules of priority on the over allocated assignments of team 2, we move the second assignment 5 days, there are still some overallocations on two assignments. We move again the last of three assignments by 10 days. This solves the overallocations on first, second and third and 6th week. And so on and so on.
If you check eventually
the activities in the work breakdown, you'll see why there are time spaces in between activities.
So that being said, maybe you want to change the approach of your planing?
Maybe you can use a kanban board instead?
If you have for example a Kanban with 5 states: backlog, in process - team 1, in process - team 2, verifying - team 3 , done…
You can insert your work packages to the backlog, and when work occurs, the package wonders from left to the right.
Would that help you better doing the work you need?