Traditionally, it was May 30th. Because it has to be in May, and because now it is always a Monday (for the three-day weekend), and there isn’t another Monday in May.
Here is a site: http://www.usmemorialday.org/calendar.html
The 31st falls on Saturday, so this is the last weekend in May.