How to capture the information stream used in classes

I recently wrote a script using PS classes. To get status infos, Write-Information was used. For some reason, this messages can not be captured using the InformationVariable. Below is a test script to demonstrate what happens.

#Begin of script
Class Test1

{
    Test1()
    {
        Write-Information "Entering Test1()"
    }
}
Class Test2
{
    Test2()
    {
        Write-Information "Entering Test2()"
    }
}
Function Start-Test
{
    [CmdLetBinding()]
    Param()
    Write-Information "- Going to create objects"
    $objF1 = [Test1]::new()
    $objF2 = [Test2]::new()
    Write-Information "- Leaving Start-Test"
}
Start-Test -InformationAction Continue -InformationVariable iv
#End of script
Now execute the script
PS C:\> C:\LocalData\Class-Information.ps1
- Going to create objects
Entering Test1()
Entering Test2()
- Leaving Start-Test
All the messages generated with write-information are shown on the screen. Cool
I would expect to also have the same output in the information variable $iv since the stream gets captured using -InformationVariable iv
PS C:\> $iv
- Going to create objects
- Leaving Start-Test
But surprise, only the messages generated in the function are stored in the variable $iv, all the messages generated in the class constructor are missing???
If I start the same script this way, all the messages can be found in the information stream.

PS C:\> $ps =  [Powershell]::Create()
$null = $ps.AddCommand("C:\LocalData\Class-Information.ps1", $false)
$null = $ps.Invoke()
$ps.Streams.Information | ForEach-Object { ("{0} {1}" -f $_.Timegenerated,$_.MessageData) }
10.01.2018 09:27:55 - Going to create objects
10.01.2018 09:27:55 Entering Test1()
10.01.2018 09:27:55 Entering Test2()
10.01.2018 09:27:55 - Leaving Start-Test
What is the eplanation and how can i use -InformationVariable to get all the messages.