My goal was to create a collection of objects (SharePoint sites) with in each object another collection of objects (Lists in that sites). After writing the code below I thought I succeeded but I don't know how to access the Lists objects.
$sites = @()
foreach ($s in $Subsites){
  Connect-PnPOnline -Url $s.Url
  $Lists = Get-PnPList
  $ctx = Get-PnPContext
  $web = $ctx.web
  $ctx.Load($web)
  $ctx.ExecuteQuery()
  $listsCollection = @()
  foreach ($list in $Lists) {
    $props = @{
       ListName         = $list.Title
       ListItems        = $list.ItemCount
       LastDeletedDate  = $list.LastItemDeletedDate
       LastModifiedDate = $list.LastItemUserModifiedDate
    }
    $listObj = New-Object -TypeName PSObject -Property $props
    $listsCollection += $listObj
  }
  $props = @{
     SiteName         = $s.Title 
     LastModified     = $web.LastItemUserModifiedDate
     URL              = $web.Url
     Lists            = $listsCollection
  }
  $webObj = New-Object -TypeName PSObject -Property $props
  $sites += $webObj
 }
After running the code I can access the site information like I expected to do 
$sites[0].SiteName gives me: "My site name"
And I can see the list information in the object too but it seems to me that it is only string information and not real objects.
$sites[0].Lists gives me:
@{LastDeletedDate=06/12/2019 09:24:57; LastModifiedDate=06/12/2019 09:27:30; ListName=MyList1; ListItems=6}
@{LastDeletedDate=04/19/2019 12:48:14; LastModifiedDate=04/19/2019 12:48:14; ListName=MyList2; ListItems=0}
but I can't acces ListName by using $sites[0].Lists[0].ListName . Get-Member gives me just one property Length. The TypeName of the object is System.String. I tried several other things like using other ways to create a CustomObject and using select -ExpandProperty or Key and Value but no succes either.  
 
    