Concat strings de & e + em VB.Net

Existe alguma diferença entre os operadores & e + ao concatenar uma string? se sim, então qual é a diferença? E se Não, então por que o código abaixo gera exceção?

Exemplo:

    Dim s, s1, t As String
    Dim i As Integer

    s1 = "Hello"
    i = 1

    s = s1 & i
    t = s1 + i  //Exception here

    If s = t Then
        MessageBox.Show("Equal...")
    End If

questionAnswers(8)

yourAnswerToTheQuestion