Well, I finally found the solution for those with the same problem.
When using threads, the thread cannot access UI because UI it wasn't created by the thread. In this case we have to use Delegate and Invoke, here's how the above code works ok and now the vertical bar appears:
Private Delegate Sub Conect_Delegate(ByVal dg As DataGridView, ByVal Table As DataTable)
Private Orders As New DataTable
Private LoadOrdersThread As New Thread(New ThreadStart(AddressOf LoadOrders))
Private Sub frmTicket_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
LoadOrdersThread.Start()
End Sub
Private Sub LoadOrders()
Orders = MyFunctionToFillDataTable
If dgvOrders.InvokeRequired Then
dgvOrders.Invoke(New Conect_Delegate(AddressOf Conect), dgvOrders, Orders)
End If
LoadOrdersThread.Abort()
End Sub
Private Sub Conect(ByVal dgv As DataGridView, ByVal xTable As DataTable)
dgv.DataSource = xTable
End Sub
Hope it helps !!!