BackgroundImage doesn't animate a GIF anyway -- only the PictureBox.Image does that. But we can get round this using 2 picture boxes, one to play the animated GIF and another to show the tiled background image.
Here's an example. Start with a Form with a picture box (PictureBox1) for showing the tiled image. Don't set the BackgroundImage yet, but set its BackgroundImageLayout to Tile. You can set its Image to whatever you like.
Add a second picture box (PictureBox2) as a "player" for the animated GIF. Set its Image to the animated GIF and its SizeMode to AutoSize.
Add a Timer (Timer1) and set its Interval to 30 or so. The Timer will be used to grab the image from the player, using the DrawToBitmap method. An advantage of DrawToBitmap is that you can hide the source control off-screen or behind another control at runtime while grabbing (but don't use Hide).
Here's the code for the form:
Dim tile As Bitmap
Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles Me.Load
tile = New Bitmap(PictureBox2.Image.Width, PictureBox2.Image.Height)
PictureBox2.Location = New Point(-PictureBox2.Width, -PictureBox2.Height) 'hide PictureBox2 off-screen
Private Sub Timer1_Tick(sender As Object, e As System.EventArgs) Handles Timer1.Tick
PictureBox1.BackgroundImage = tile
This worked for me with animated GIFs (attached below) for both the tiled BackgroundImage and the Image. The world turns against a chorus of dancing mice.