I modified the sub that runs the backup in a secondary process by adding the wait statement as suggested. The method now runs correctly without crashing:
Private Sub CheckBackUp()
' check to see if a backup needs to be done
Dim DoBackup As Boolean = False
If IsBackUpLockFile() = True Then Exit Sub
If ConfigCL.IsName("Last Backup Date") = True Then
Dim LastBackupDate As Date = ConfigCL.Value("Last Backup Date")
If LastBackupDate > SysStartDate Then
Dim span As TimeSpan = Now.Subtract(LastBackupDate)
If span.Days >= 1 Then
DoBackup = True
ElseIf span.Hours >= BackupDateDelta Then
DoBackup = True
End If
End If
Else
ConfigCL.Add("Last Backup Date", Now.ToString, 1, "Last System Backup Date")
DoBackup = True
End If
If DoBackup = True Then
Dim task1 As New Task(Sub() Backup_Execute(SQLDataServer, SQLDataBaseName, Path.Combine(ServerPath, DataFileName)))
Try
task1.Start()
task1.Wait()
Catch ae As AggregateException
Dim tstr As String = ae.ToString
End Try
task1 = Nothing
End If
End Sub