You have to 'pipe' the objects to the Export-Csv cmdlet. Did you place the pipe symbol (vertical bar) after the last closing curly brace ?
You will get instances if both CPU and memory are above the limit.
And you see a line for each interval for each VM where this condition evaluated to $true.
That explains why the multiple lines for the same VM, but each with a different timestamp.