うるう年の2月29日を表すDateTime・DateTimeOffsetに対してAddYearsメソッドで年単位の加減算を行う場合は注意が必要です。 うるう年の2月29日から年単位の加減算をした結果、その年もうるう年となる場合は2月29日、そうでない場合は2月28日が返されます(3月1日にはなりません)。

DateTime/DateTimeOffset.AddYearsで2月29日のn年前・n年後の日付を求める場合の動作
Imports System

Class Sample
  Shared Sub Main()
    Dim baseDate As New DateTime(2012, 2, 29)

    Console.WriteLine("{0} + 1 years = {1}", baseDate, baseDate.AddYears(+1))
    Console.WriteLine("{0} - 1 years = {1}", baseDate, baseDate.AddYears(-1))
    Console.WriteLine("{0} + 4 years = {1}", baseDate, baseDate.AddYears(+4))
    Console.WriteLine("{0} - 4 years = {1}", baseDate, baseDate.AddYears(-4))
    Console.WriteLine()

    baseDate = New DateTime(2016, 2, 29)

    Console.WriteLine("{0} + 1 years = {1}", baseDate, baseDate.AddYears(+1))
    Console.WriteLine("{0} - 1 years = {1}", baseDate, baseDate.AddYears(-1))
    Console.WriteLine("{0} + 4 years = {1}", baseDate, baseDate.AddYears(+4))
    Console.WriteLine("{0} - 4 years = {1}", baseDate, baseDate.AddYears(-4))
  End Sub
End Module
実行結果
2012/02/29 0:00:00 + 1 years = 2013/02/28 0:00:00
2012/02/29 0:00:00 - 1 years = 2011/02/28 0:00:00
2012/02/29 0:00:00 + 4 years = 2016/02/29 0:00:00
2012/02/29 0:00:00 - 4 years = 2008/02/29 0:00:00

2016/02/29 0:00:00 + 1 years = 2017/02/28 0:00:00
2016/02/29 0:00:00 - 1 years = 2015/02/28 0:00:00
2016/02/29 0:00:00 + 4 years = 2020/02/29 0:00:00
2016/02/29 0:00:00 - 4 years = 2012/02/29 0:00:00