Outlook VSTO: Fastening email loop on a large pst file
After looking at your code I see some stuff which could speed this up if coded different.
'/Full folder path splited into array and removed the rootfolder name with tag (e.g Outlook_Backup -&gt; _Backup is the tag)
Dim FolderPath() As String = f.FolderPath.TrimStart(&quot;\&quot;c).Split(&quot;\&quot;).Skip(1).ToArray 

'/Array joined back to get MailFolderPath without tag
Dim MailFolderPath As String = String.Join(&quot;\&quot;, FolderPath)  

For each Item in f.Items you are trimming the FolderPath and Split it by \ to Skip the first arrayitem before you call ToArray(). The ToArray() isn't needed because this overload of String.Join would take an IEnumerable(Of String).
But the main point here is that f.FolderPath won't change for each Item. It would be much faster to pull this outside of the For loop.
Removing the BackGroundWorker.ReportProgress() for each and every Item would speed this up as well. How about reporting progress only for each folder?

Although VB.NET isn't case sensitive it would be good to follow the .Net Naming Guidelines for naming things.