If you can't see the problem by looking at your code, then you should debug it. When you do, the problem will become obvious: you're creating a
new, empty list on each iteration of your loop, and only ever adding a single item to it.
You need to create the list
outside of the loop:
Dim LvLst As New List(Of PC)
For Each objProfile In colProfiles
Dim dtLastUseTime = ...
If DateDiff("d", dtmLastUseTime, d1) > intMaxProfileAge Then
Dim LvItm As New PC With { .Computer_Name = rowInfo1,
.Profile_Name = objProfile.localpath }
LvLst.Add(LvItm)
objProfile.Delete_
End If
Next
ObjectListView1.SetObjects(LvLst)