ficasm1: click on Tools | Options | View-tab and select a date display that includes the time.
You _should_ see that the resource is assigned work that is less than or equal to the number of working hours in a day and that two (or more) tasks have the same start time or overlap in some other way. Clearing those overlaps should eliminate the overallocation.
There are _many_ possible reasons why levelling does not seem to work the way you want it to but here, in three simple statements, are the rules you have to remember:
1. Project pushes out to reduce working hours by a resource to less then or equal to the number of hours in a day when factored by the resource's max units; it never pulls back to fill in underallocated gaps.
2. Task constraints (must start on, must finish on, etc.) can prevent overallocation levelling. Ditto for resource contours, resource calendars, etc.
3. Some tasks will not be leveled. Tasks with a "Do not level" or 1000 (depending on the release) will not be leveled; this includes recurring tasks which are never leveled.
Actually, there are more rules, but these will be enough for now.