The resource leveling feature in Project has many settings to control how it performs its calculations. These settings are found on the Resource Leveling dialog, which can be called up by clicking Tools, Level Resources on the menu bar.
The default mode for leveling is Manual (see item 1 in the figure). Changing this setting to Automatic can cause confusion and frustration if you don't understand that this allows Project to move tasks out in time whenever you assign a resource to a task that causes that resource to become overallocated.
The Look For Overallocations On a Basis setting (see item 2 in the figure) controls how "sensitive" Project is when leveling resources. If, for example, this setting is set to Day-By-Day, Project will ignore any overallocation that does not cause the Peak Units value for any one day period to rise above the resource's Max Units field. In this case, a one- hour overlap of tasks would not be leveled so long as the resource's assignments for that day did not rise above its Max Units value. (With the default calendar settings, this is eight hours.) A Week-By-Week setting here would ignore overallocations within a weekly period as long as the weekly total of assignments for a resource stays under 40 hours (given the default calendar settings and a 100% Max Units value).
You can define a time period for the leveling. Project will only level assignments that fall within the period you define, as in item 3 in the figure.